【问题标题】:Modify Class Object Argument Based On When Calling A Method调用方法时修改类对象参数
【发布时间】:2016-07-12 05:13:23
【问题描述】:

这是我正在研究的一个高度简化的版本,我只是不想在这里放 5,000 行。所以我知道这很有效,但我希望能够让方法“吃”能够非特定地应用于此类父级的任何对象(例如“John Smith”,并添加让我们说“Mike Doe”。)我希望它自动选择经历“.eat()”的人来吃食物,而不是让方法具体说明:johnSmith.hunger = False。我正在做的是创建人们可以在游戏中使用的影响其他对象(类子类和变量)的动作方法,但我不想为每个角色单元的每个动作设置一个方法。那将是疯狂的。下面是我的一组代码。

class human():

    def __init__(self, name, hunger):
        self.name = name
        self.hunger = hunger

    def eat(self):
        johnSmith.hunger = False
        print("Human Ate Food")

johnSmith = human("John Smith", True)

print("Human Is Hungry:", johnSmith.hunger)
johnSmith.eat()
print("Human Is Hungry:", johnSmith.hunger)

如果我不清楚(我知道我没有很好地解释),请随时提问。

【问题讨论】:

    标签: python object methods


    【解决方案1】:

    只需使用self:

    def eat(self):
        self.hunger = False
        print("%s Ate Food" % self.name)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-11
      • 2018-12-12
      相关资源
      最近更新 更多