我是python的新手,我一直在努力理解课程。
据我所知,在创建类时,必须在变量之前插入self,以便在创建实例时将self替换为实例(这些实例成为实例属性)。 除了实例属性之外,还有类属性,它们在类的顶部定义,在任何方法之前。
但是,我遇到了这段代码:
class Hero:
def __init__(self, name):
self.name = name
self.health = 100
def eat(self, food):
if food == 'apple':
health += 20
elif food == "chocolate":
health -= 10
为什么食物之前没有食物?它不是一个实例属性,但在我看来它不是一个类attr。 我正在使用python 2.X
答案 0 :(得分:0)
food
不是指类对象的属性(可能是self.food
),而是指给eat
的参数。