📜  如何从Python对象中检索源代码?

📅  最后修改于: 2022-05-13 01:54:41.008000             🧑  作者: Mango

如何从Python对象中检索源代码?

有时了解某些函数源代码的样子很重要。在这种情况下,我们将检查模块作为Python编程中的内置标准库。它提供了几个有用的函数来跟踪有关活动对象的信息,例如模块、类、方法、函数、回溯、框架对象和代码对象。 getsource() 方法用于获取Python对象的源代码。

如果无法检索源代码,则会引发 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