python_面向对象三

类对象=》静态方法,静态字段,类的方法,普通字段

通过类访问有:静态字段,静态方法

通过对象访问有:普通字段普通方法

静态字段没有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



猜你喜欢

转载自blog.csdn.net/Py_CCY/article/details/76356015