June 2015
Intermediate to advanced
298 pages
7h 15m
English
Python allows us to create methods that can be used as if they were attributes. This gives us very pleasant syntax for getting a derived value from an object. A method that appears to be an attribute is called a property. We'll extend our Point class with two more methods:
@property
def r(self):
return math.sqrt(self.x**2 + self.y**2)
@property
def θ(self):
return math.atan2(self.y, self.x)We've defined two functions using the @property decorator. This decorator can be used with a function that has only the instance variable, self, as a parameter.
Here's how we can use these properties:
>>> p = Point(12, 5) >>> round(p.r, 1) 13.0 >>> round(math.degrees(p.θ), 1) 22.6
We've accessed these methods as if they were simple attributes of ...
Read now
Unlock full access