Warum funktioniert dieser Code nicht?Verwirrung darüber, wie Self.Something in Klassen funktioniert
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
aber das tut?
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
wenn self.angle1 = angle1, warum kann ich nicht einfach die kürzere Version verwenden?
Genau so ist es: 'angle1' ist eine Variable, deren Geltungsbereich der Konstruktor ist, während' self.angle1' eine Eigenschaft von 'self' ist. Sie sind nicht dasselbe. – trincot