python 如何使用函数名动态调用引入包中的函数
时间: 2023-12-02 16:06:42 浏览: 33
在 Python 中,可以使用内置函数 `getattr()` 来动态获取对象的属性或方法。使用这个函数,可以使用函数名来动态调用包中的函数。以下是一个示例:
假设有一个名为 `my_module` 的包,其中有一个名为 `my_function` 的函数。我们可以使用以下代码来动态调用这个函数:
```python
import my_module
function_name = "my_function"
function = getattr(my_module, function_name)
result = function()
```
首先,我们导入了 `my_module` 包。然后,我们定义了一个变量 `function_name` 来存储函数名。接着,我们使用 `getattr()` 函数来获取 `my_module` 中的函数,并将其存储在变量 `function` 中。最后,我们调用 `function()` 函数来执行 `my_function` 函数,并将结果存储在变量 `result` 中。
需要注意的是,如果函数需要传递参数,可以在 `getattr()` 函数中添加参数。例如,如果 `my_function` 函数需要传递一个字符串参数,可以使用以下代码来调用它:
```python
import my_module
function_name = "my_function"
function = getattr(my_module, function_name)
result = function("hello world")
```
这里的 `function("hello world")` 会将字符串 "hello world" 作为参数传递给 `my_function` 函数。