#创建类(对象) class Person: count = 0 # 类属性/类变量 __num = 1 # 私有属性/类变量 def __init__(self, name, age, score): self.name = name # 实例变量 self.__age = age # 实例变量# 私有属性 #私有变量 self.score = score # 实例变量 Person.count += 1 @property # 获取私有属性 def age(self): return self.__age @age.setter # 设置私有属性 def age(self, new_age): self.__age = new_age @age.deleter # 删除私有属性 def age(self): del self.__age def show_info(self): # 实例方法,实例化对象调用的方法 return self def __repr__(self): return "Person('%s',%s,%s)" % (self.name, self.age, self.score) @classmethod # 跟实例化无关,用来操作类变量#可在类外部使用 def show_age(cls, age): # 创建类方法,参数是age,调用时需要传入具体的age age += 1 return age @staticmethod # 静态方法 def play_score(person): return person.__show_score() def __show_score(self): # 私有方法,只能类内部调用 return self.score lily = Person('lily', 21, 55) # 实例化对象 eric = Person('eric', 26, 66) print("调用实例变量的值") print(lily.score) # 调用实例变量的值 print("调用类变量的值") print(Person.count) # 调用类变量的值 print("通过对象调用类变量的值 #不建议") print(lily.count) # 通过对象调用类变量的值 #不建议 print("调用实例化方法 # 打印则是调用重写的__repr__") print(lily.show_info()) # 调用实例化方法 # 打印则是调用重写的__repr__ print("通过@property修改后调用私有属性") print(lily.age) # 通过@property修改后调用私有属性 print("通过实例化对象调用静态方法 #通过静态方法调用私有方法") print(lily.play_score(lily)) # 通过实例化对象调用静态方法 #通过静态方法调用私有方法 print("通过类名调用静态方法 #通过静态方法调用私有方法") print(Person.play_score(lily)) # 通过类名调用静态方法 #通过静态方法调用私有方法 print("调用类方法") print(lily.show_age(lily.age)) # 调用类方法
Python重点知识一:类的基本属性
于 2023-04-11 09:04:26 首次发布