class House():
@property
def temperature(self):
return self._temperature*10
@temperature.setter
def temperature(self, temp):
self._temprature = some_func(temp)
#use this as
house = House()
temp = house.temperature
house.temperature = 50.0
@classmethod and @staticmethod
# Python program to demonstrate
# use of a class method and static method.
from datetime import date
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# a class method to create a
# Person object by birth year.
@classmethod
def fromBirthYear(cls, name, year):
return cls(name, date.today().year - year)
# a static method to check if a
# Person is adult or not.
@staticmethod
def isAdult(age):
return age > 18
person1 = Person('mayank', 21)
person2 = Person.fromBirthYear('mayank', 1996)
print (person1.age)
print (person2.age)
# print the result
print (Person.isAdult(22))
See how you can create class instance through some other logic using @classmethod.