Найти - Пользователи
Полная версия: Вопрос по интроспекции
Начало » Python для экспертов » Вопрос по интроспекции
1
guest01
Можно ли узнать во время выполнения какие параметры принимает функция?
slivlen
guest01
Можно ли узнать во время выполнения какие параметры принимает функция?
Можно узнать только их количество, но не тип.
guest01
И как узнать количество? Жаль, что нельзя узнать как я их объявил. В смысле название.
j2a
inspect.getargspec
tabajara
може поможе
>>> def a(q,w,e):
...     u = "g"
...     i = "dvg"
...
>>> fc = a.func_code
>>> dir(fc)
['__class__', '__cmp__', '__delattr__', '__doc__', 
 '__getattribute__', '__hash__', '__init__', '__new__', 
 '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
 '__str__', 'co_argcount', 'co_cellvars', 'co_code',
 'co_consts', 'co_filename', 'co_firstlineno', 'co_flags',
 'co_freevars', 'co_lnotab', 'co_name', 'co_names',
 'co_nlocals', 'co_stacksize', 'co_varnames']
>>> fc.co_nlocals
5
>>> fc.co_varnames
('q', 'w', 'e', 'u', 'i')
>>> fc.co_consts
(None, 'g', 'dvg')
>>> fc.co_argcount
3
guest01
tabajara
може поможе
>>> def a(q,w,e):
...     u = "g"
...     i = "dvg"
...
>>> fc = a.func_code
>>> dir(fc)
['__class__', '__cmp__', '__delattr__', '__doc__', 
 '__getattribute__', '__hash__', '__init__', '__new__', 
 '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
 '__str__', 'co_argcount', 'co_cellvars', 'co_code',
 'co_consts', 'co_filename', 'co_firstlineno', 'co_flags',
 'co_freevars', 'co_lnotab', 'co_name', 'co_names',
 'co_nlocals', 'co_stacksize', 'co_varnames']
>>> fc.co_nlocals
5
>>> fc.co_varnames
('q', 'w', 'e', 'u', 'i')
>>> fc.co_consts
(None, 'g', 'dvg')
>>> fc.co_argcount
3
Спасибо ) Тоже ничего. Но модуль inspect полностью покрывает мои потребности. Спасибо всем.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB