python_面向对象三

来源:互联网 发布:win10系统安装mac os 编辑:程序博客网 时间:2024/06/06 23:50

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

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

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

静态字段没有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.sssprint(obj.name)>>>中国类方法静态方法名字特性名字


setter

class Provice:    @property    def sss(self):        print("特性")    #给特殊方法赋值(使用特殊方法方法名加setter)    @sss.setter    def sss(self,name):        print(name)obj = Provice()#执行setter只是给name赋值 不会执行printobj.sss = "1"#执行property,会先执行setter的print 在执行赋值后的内容obj.sss



原创粉丝点击