> For the complete documentation index, see [llms.txt](https://l1nwatch.gitbook.io/interview_exercise/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://l1nwatch.gitbook.io/interview_exercise/stackoverflow-about-python/ru-he-tong-guo-han-shu-ming-de-zi-fu-chuan-lai-tiao-yong-han-shu.md).

# 如何通过函数名的字符串来调用这个函数?

假设我们有一个模块名字为 foo，其中有一个函数为 bar，但现在只给了字符串 `"bar"`，如何通过字符串 "bar" 来调用对应的函数 `foo.bar()`？

## Solve

通过 `getattr` 方法：

```python
import foo
methodToCall = getattr(foo, 'bar')
result = methodToCall()
```

可以简写为：

```python
result = getattr(foo, 'bar')()
```

另外 `getattr` 可以用在实例绑定、模块级方法、类方法等
