Скажите, что у меня есть такая функция:
def eggs(a,b,c):
if c.foo:
return a + b.bar
else:
return c.spam
Я хотел бы иметь функцию более высокого порядка, способную анализировать переданную функцию и извлекать, какие члены аргумента упоминаются в коде через синтаксис точки, со следующим поведением:
>>> member_inspector(eggs, 'c')
('foo','spam')
>>> member_inspector(eggs, 'b')
('bar')
>>> member_inspector(eggs, 'a')
()
Можно ли это сделать? Как?