In the following program how does the line r.size = 150, 100
actually set the values using this line -> size = property(getSize, setSize)
? property has two arguments, getSize & setSize, it seems to me that would only allow it so get one value and set one value.
#!/usr/bin/python3
class Rectangle:
def __init__(self):
self.width = 0
self.height = 0
def setSize(self, size):
self.width, self.height = size
def getSize(self):
return self.width, self.height
size = property(getSize, setSize)
r = Rectangle()
r.width = 10
r.height = 5
print(r.size)
r.size = 150, 100
print(r.width)
Also, what are some small projects I can do the improve me python OOP?