python - 调用类时如何使用变量代替方法?
问题描述
假设我有一个函数func
inmain.py
和一个类Tree
in mod.py
。Tree
有方法apple()
,orange()
和banana()
. 这是main.py
:
from . import mod
def func(arg, meth):
tree = mod.Tree
tree.meth(arg)
func
应该从参数调用方法,而是尝试查找属性。与其尝试查找属性,不如将其替换为变量?Tree
meth
meth
解决方案
您正在寻找getattr()
def func(arg, meth):
tree = mod.Tree
getattr(tree, meth)(arg)
tree
这将访问由指定变量 ( ) 命名的对象 ( ) 的属性(属性或函数)meth
。然后你有了这个函数,你可以调用它。
推荐阅读
- ios - 出现键盘时 swift UITableView 向上滚动,但我看不到顶部单元格
- c# - 是否有根据您的代码(例如 C#)找到最佳数据库索引的程序?
- javascript - Webpack - 捆绑成单个文件或多个文件?
- python - 如何在仍然写入不同目录的同时压缩此代码?
- python - 无法导入json
- javascript - 从左到上移动侧栏
- java - WebClient 在 url 上抛出 404 - spring boot
- perforce - p4 unshelve 不带新添加的文件
- php - 如何在 Opencart 的网格视图中增加产品图像大小?
- sql - 获取 PostgreSQL 数据库中最近更新的列列表