要获取函数中使用的内置函数的列表,可以通过以下几种方式:
inspect
模块Python 的 inspect
模块提供了很多有用的函数来获取对象的信息,包括函数中使用的内置函数。
import inspect
def my_function():
return len([1, 2, 3])
# 获取函数的源代码
source = inspect.getsource(my_function)
print(source)
# 使用正则表达式匹配内置函数
import re
builtin_functions = re.findall(r'\b(len|range|print)\b', source)
print(builtin_functions)
ast
模块Python 的 ast
模块可以解析源代码并生成抽象语法树(AST),通过遍历 AST 可以找到函数中使用的内置函数。
import ast
def my_function():
return len([1, 2, 3])
# 解析源代码生成 AST
tree = ast.parse(inspect.getsource(my_function))
# 遍历 AST 找到内置函数
builtin_functions = set()
for node in ast.walk(tree):
if isinstance(node, ast.Call) and isinstance(node.func, ast.Name):
builtin_functions.add(node.func.id)
print(builtin_functions)
有一些第三方库可以帮助分析代码,例如 pyan
或 bandit
,但它们主要用于静态代码分析和安全检查。
通过以上方法,你可以获取函数中使用的内置函数的列表,并应用于代码审计、优化和教育等场景。
领取专属 10元无门槛券
手把手带您无忧上云