首页 > 解决方案 > 调用类时如何使用变量代替方法?

问题描述

假设我有一个函数funcinmain.py和一个类Treein mod.pyTree有方法apple(),orange()banana(). 这是main.py

from . import mod

def func(arg, meth):
    tree = mod.Tree
    tree.meth(arg)

func应该从参数调用方法,而是尝试查找属性。与其尝试查找属性,不如将其替换为变量?Treemethmeth

标签: pythonclassvariablesmethods

解决方案


您正在寻找getattr()

def func(arg, meth):
    tree = mod.Tree
    getattr(tree, meth)(arg)

tree这将访问由指定变量 ( ) 命名的对象 ( ) 的属性(属性或函数)meth。然后你有了这个函数,你可以调用它。


推荐阅读