【发布时间】:2021-02-12 23:00:33
【问题描述】:
假设我在main.py 中有一个函数func,在mod.py 中有一个类Tree。 Tree 具有方法 apple()、orange() 和 banana()。这是main.py:
from . import mod
def func(arg, meth):
tree = mod.Tree
tree.meth(arg)
func 应该从meth 参数调用来自Tree 的方法,而是尝试找到meth 属性。与其尝试查找属性,不如将其替换为变量?
【问题讨论】:
-
你能说明你打算如何调用这个函数吗?你到底传递了什么
meth? -
方法之一;
apple()、orange()或banana() -
你能分享
Tree类吗?方法是classmethods 吗?您可能可以使用getattr获得该方法:getattr(tree, meth)(arg) -
您不应该实例化
Tree实例(即tree = mod.Tree())吗?或者您是否尝试从Tree访问静态方法/类方法?另外,meth是什么数据类型? -
@jfaccioni 是否实例化它并不重要,因为您只是在调用该方法,在这种情况下,这有点违背了类的目的,现在我想到了,我可能已经完成了
from mod import *...
标签: python class variables methods