Hello, i did not understand some basics about classes and i appreciate your help.

Working code :

```
class Triangle(object):
number_of_sides = 3
def __init__(self, angle1, angle2, angle3):
self.angle1 = angle1
self.angle2 = angle2
self.angle3 = angle3
def check_angles(self):
if (self.angle1 + self.angle2 + self.angle3) == 180:
return True
else:
return False
my_triangle = Triangle(30, 60, 90)
print my_triangle.number_of_sides
print my_triangle.check_angles()
class Equilateral(Triangle):
angle = 60
def __init__(self):
self.angle1 = self.angle
self.angle2 = self.angle
self.angle3 = self.angle
```

1- In the `__unit__`

of the base class, we needed to give it 4 arguments but when we used the Equilateral class and inherited from the triangle `__unit__`

took only 1 argument. I didnt understand why.

2-I didnt understand why we used (self.angle1= self.angle) but not (self.angle1 = angle)

3-print my_triangle.check_angles() why can this work while there is no argument in the check_angles, and is this equal to check_angles(my_triangle) ?