类对象=》静态方法,静态字段,类的方法,普通字段
通过类访问有:静态字段,静态方法
通过对象访问有:普通字段普通方法
静态字段没有self /普通字段有self 静态方法@staticmethod/@classmethod(cls)静态方法和类方法最好通过类调取
普通方法def 方法名(self)/@property特殊方法通过对象调取
其中类方法有参数cls 指向这个类,特殊方法不能带有参数,调用方法时候不用加括号
通过类调取的方法,不用init初始化赋值
class Provice:
#静态字段
country = "中国"
def __init__(self,name):
#普通字段
self.name = name
#普通方法
def show(self):
print(self.name )
#静态方法
@staticmethod
def s():
print("静态方法")
#类方法
@classmethod
def ss(cls):
print("类方法")
@property
def sss(self):
print("特性")
print(Provice.country)
Provice.ss()
Provice.s()
obj =Provice("名字")
obj.show()
obj.sss
print(obj.name)
>>>
中国
类方法
静态方法
名字
特性
名字
setter
class Provice:
@property
def sss(self):
print("特性")
#给特殊方法赋值(使用特殊方法方法名加setter)
@sss.setter
def sss(self,name):
print(name)
obj = Provice()
#执行setter只是给name赋值 不会执行print
obj.sss = "1"
#执行property,会先执行setter的print 在执行赋值后的内容
obj.sss