Одна из замечательных вещей в python - это возможность самоанализа в методах и функции. В качестве примера, чтобы получить сигнатуру функции math.log
, вы можете (в ipython) запустить это:
In [1]: math.log?
Type: builtin_function_or_method
Base Class:
String Form:
Namespace: Interactive
Docstring:
log(x[, base])
Return the logarithm of x to the given base.
If the base not specified, returns the natural logarithm (base e) of x.
И увидеть, что x
и, возможно, base
параметры этой функции.
С новым gtk3 и автоматически сгенерированными привязками pygobject я могу во всех пробных мной примерах получить только (* args, ** kwargs)
в качестве параметров каждого gtk метод.
Пример: Label.set_text , для которого требуется строка :
In [1]: from gi.repository import Gtk
In [2]: mylabel = Gtk.Label("hello")
In [3]: mylabel.set_text?
Type: instancemethod
Base Class:
String Form: >
Namespace: Interactive
File: /usr/lib/python2.7/dist-packages/gi/types.py
Definition: L.set_text(*args, **kwargs)
Docstring:
ТЕПЕРЬ ВОПРОС: это (потеря интроспекции метода для привязок python) что-то, что изменится еще раз (документация), усилия исчезли в pygobjects или это что-то, что должно остаться из-за того, как работают pygobjects?