【发布时间】:2016-12-29 12:00:57
【问题描述】:
为什么这段代码不起作用?
class Triangle(object):
def __init__(self, angle1, angle2, angle3):
self.angle1 = angle1
self.angle2 = angle2
self.angle3 = angle3
number_of_sides = 3
def check_angles(self):
sum_of_angles = angle1 + angle2 + angle3 # PLS LOOK AT THIS LINE
if sum_of_angles == 180:
return True
else:
return False
但是这样呢?
class Triangle(object):
def __init__(self, angle1, angle2, angle3):
self.angle1 = angle1
self.angle2 = angle2
self.angle3 = angle3
number_of_sides = 3
def check_angles(self):
sum_of_angles = self.angle1 + self.angle2 + self.angle3 # LOOK HERE AGAIN
if sum_of_angles == 180:
return True
else:
return False
如果 self.angle1 = angle1,为什么我不能只使用较短的版本?
【问题讨论】:
-
就是这样:
angle1是一个作用域是构造函数的变量,而self.angle1是self的一个属性。它们不是一回事。
标签: python