Используйте компонент «Маршрут» и дочерние маршруты в одном маршруте

Хотя я обычно соглашаюсь с тем, что inspect является хорошим ответом, я бы не согласился с тем, что вы не можете получить исходный код объектов, определенных в интерпретаторе. Если вы используете dill.source.getsource из dill , вы можете получить источник функций и лямбда, даже если они определены в интерактивном режиме. Он также может получить код для связанных или не связанных классов методов и функций, определенных в карри ... однако вы не сможете скомпилировать этот код без кода объекта-объекта.

>>> from dill.source import getsource
>>> 
>>> def add(x,y):
...   return x+y
... 
>>> squared = lambda x:x**2
>>> 
>>> print getsource(add)
def add(x,y):
  return x+y

>>> print getsource(squared)
squared = lambda x:x**2

>>> 
>>> class Foo(object):
...   def bar(self, x):
...     return x*x+x
... 
>>> f = Foo()
>>> 
>>> print getsource(f.bar)
def bar(self, x):
    return x*x+x

>>> 

0
задан James Z 15 January 2019 в 18:08
поделиться