面对对象的类属性
类成员:
# 字段
- 普通字段,保存在对象中,执行只能通过对象访问
- 静态字段,保存在类中, 执行
可以通过对象访问
也可以通过类访问
# 方法
- 普通方法,保存在类中,由对象来调用,self =》对象
- 静态方法,保存在类中,由类直接调用
- 类方法,保存在类中,由类直接调用,cls =》当前类
class FOO: # 静态字段 static_field = "aaa" def __init__(self): # 普通字段 self.name = "a" self.name_list = ["a"] # 普通方法 def com(self): print("com") # 静态方法 @staticmethod def sta(): print("sta") # 类方法 @classmethod def classmd(cla): print("classmd") # 属性,特性 @property def per(self): print("per") return self.name_list @per.setter def per(self, val): print(val) self.name_list.append(val) @per.deleter def per(self): print(self.name_list.pop()) obj = FOO() obj.com() # 普通方法调用,通过对象调用 FOO.sta() # 静态方法调用,直接类调用 FOO.classmd() # 类方法调用,默认传类名 r = obj.per # 不加括号调用,跟字段调用一样,但是可以接收返回执行 print(r) obj.per = "b" del obj.per