试图理解Python 3.7中的类和方法。我继续运行下面的代码,但不断得到这个 NameError,与我在 Stats 类的初始化方法中建立的点变量相关联。我相信错误是识别局部/全局变量时出现问题的结果,但无法将其放在上面。有人有什么想法吗?
class Stats:
def __init__(self, points, rebounds, assists, steals):
self.points = points
self.rebounds = rebounds
self.assists = assists
self.steals = steals
def tripDub(self):
if points >= 10 and rebounds >= 10 and assists >= 10 and steals >= 10:
return "Yes!"
else:
return "Nope!"
s = Stats(30, 20, 9, 5)
print("Did he earn a Triple Double? Result:", s.tripDub())
在引用实例变量之前需要self.
:
class Stats:
def __init__(self, points, rebounds, assists, steals):
self.points = points
self.rebounds = rebounds
self.assists = assists
self.steals = steals
def tripDub(self):
if self.points >= 10 and self.rebounds >= 10 and self.assists >= 10 and self.steals >= 10:
return "Yes!"
else:
return "Nope!"
s = Stats(30, 20, 9, 5)
print("Did he earn a Triple Double? Result:", s.tripDub())
你需要引用points
、rebounds
、assists
和steals
在tripDub
函数中使用self。
示例:self.points