一、类的属性
import datetime class Person: def __init__(self, name, birthdate, gender='male'): self.name = name self.birthdate = birthdate self.gender = gender def get_age(self): return datetime.date.today().year - self.birthdate.year @property def age(self): return datetime.date.today().year - self.birthdate.year def __str__(self): return f'<Person {self.name}, {self.birthdate}, {self.gender}>' p1 = Person('Tom', datetime.date(1990, 3, 3)) print(p1.age)
二、classmethod方法
import datetime class Person: count = 0 def __init__(self, name, birthdate, gender='male'): self.name = name self.birthdate = birthdate self.gender = gender Person.count += 1 @classmethod def get_count(cls): print(cls.count) p1 = Person('Tom', datetime.date(1993, 3, 3)) p2 = Person('Tom', datetime.date(1993, 3, 3)) print(Person.get_count())
#静态方法
class Utility: @staticmethod def connect_db(): print("连接数据库...") @staticmethod def upload_img(): print('上传图片...') @staticmethod def other_method(): pass Utility.connect_db()