简体   繁体   English

将类属性作为函数参数传递?

[英]Passing a class attribute as a function argument?

Can I pass the variable name I am looking for as an argument? 我可以将要查找的变量名作为参数传递吗? In the def below, the stat argument is meant to update the .stat in the function. 在下面的def中,stat参数用于更新函数中的.stat (see arrow) I keep getting an error: (请参见箭头)我不断收到错误消息:

 print("game result :" +(self._playerHxDic[name][str(i)].stat))

AttributeError: 'GameHx' object has no attribute 'stat' AttributeError:“ GameHx”对象没有属性“ stat”

def getStats(self,name,num_of_games,stat):
    games = self._playerHxDic[name].keys()
    gameNums = []
    for i in games:
        gameNums.append(int(i))
    gameNums.sort()
    if len(gameNums) > num_of_games:
        gamelist = [int(x) for x in gameNums[-num_of_games:]]
        points = 0
        for i in gamelist:
            points += statDicint(self._playerHxDic[name][i].stat)#<-- 
        return points/num_of_games
    else: return None
getattr(self._playerHxDic[name][i], stat)

getattr()的文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM