一、类的属性

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方法

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
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())

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄