说明网
编程开发 2 个回答

如何在Python中将输入的函数作为字符串类型?

陈sir 提问者

发布于 2024-07-18

问题补充

在Python中,如果你想要获取一个函数的源代码作为字符串,可以使用内置的`inspect`模块。这个模块提供了多种函数来帮助获取关于活动对象的信息,如模块、类、函数等。

2 个回答

按发布时间排序
jacky0752 回答者

回答于 2025-04-06

在 Python 中将输入的函数作为字符串类型的两种方法

方法 1:通过 input() 直接获取字符串输入

python

输入示例:输入一个函数表达式(例如 "lambda x: x**2")

user_input = input("请输入函数表达式: ") # 返回值直接是字符串类型 print(type(user_input)) # 输出 <class 'str'>

方法 2:将现有函数对象转为字符串

python def my_function(a, b): return a + b

通过 name 获取函数名

function_name = my_function.name print(function_name) # 输出 "my_function"

通过 inspect 模块获取完整函数体(需安装标准库)

import inspect source_code = inspect.getsource(my_function) print(source_code) # 输出函数定义的完整代码

注意事项

  1. 若要将字符串转换为可执行函数,可以使用 eval(),但要注意安全风险
  2. 获取函数源码需要确保代码在可访问的上下文中
  3. 对匿名函数(lambda)使用 inspect 时,需要确保其有明确的来源
实话实说 回答者

回答于 2024-07-18

def my_function(): print('Hello, world!')

获取函数的源代码

function_source = inspect.getsource(my_function)

print(function_source) 这段代码会输出my_function函数的源代码,包括缩进和换行符。

内容由网友提供,仅供参考。