如何从Python对象中检索源代码?
有时了解某些函数源代码的样子很重要。在这种情况下,我们将检查模块作为Python编程中的内置标准库。它提供了几个有用的函数来跟踪有关活动对象的信息,例如模块、类、方法、函数、回溯、框架对象和代码对象。 getsource() 方法用于获取Python对象的源代码。
Syntax: inspect.getsource(object)
Return type: text of the source code for an object
如果无法检索源代码,则会引发 IOError。
例子:
# import inspect library
import inspect
def test(x):
return x * 2
print(inspect.getsource(test))
输出:
def test(x):
return (x+2)*(x-2)
例子:
# import inspect library
import inspect
def far(n):
factorial = 1
if int(n) >= 1:
for i in range (1, int(n)+1):
factorial = factorial * i
return factorial
source = inspect.getsource(far)
print(source)
输出:
def far(n):
factorial = 1
if int(n) >= 1:
for i in range (1, int(n)+1):
factorial = factorial * i
return factorial
示例:我们也可以在内置库函数和对象上使用检查。
# import inspect library
import inspect
import pandas
source_DF = inspect.getsource(pandas.DataFrame)
print(source_DF[:100])
输出:
class DataFrame(NDFrame):
"""
Two-dimensional size-mutable, potentially heterogeneous tabula