#类class Dog(): #定义def __init__(self,name): #初始化属性,self赋值后,所有方法都可以用 self.name = namedef sit(self): #获取属性print(self.name.title() + " is now sitting.")my_dog = Dog('wang') #调用方法my_dog.sit()my_dog.name = xx #直接修改赋值print(my_dog.name) #只打印变量#类继承class A_Dog(Dog):def __init(self,name): #父类有的那些参数 super().__init__(name) #初始化父类的那些参数,这样父类参数可以懒得写slef.xx=xx self.xx = xx #子类自己的变量def sit(self): #和父类重名,将直接覆盖#对方法进行定义属性,可以方法定义return 2*,这样实时更新结果name = property(get_name, set_name) #套入方法xx = abc('nginx')xx.name = 'xx' #赋值操作时,set_name就会被调用@property #在修改函数的上面套用,类似get@name.setter #类似set#类拆分class B_Dog(): self.adog = A_Dog() #将类赋值b.adog.sit() #调用self.__name = xxx #禁止外部调用 xx.name方式调用fowl._Duck__name #查看类别@classmethod #类方法def xx(cls):print(cls.count) #打印有几个类引用类名.xx() #调用@staticmethod #静态方法,直接对象.xx调用,不用赋值def commercial():print('This CoyoteWeapon has been brought to you by Acme')class Word():def __init__(self, text): self.text = textdef __eq__(self, word2): #不用再带入类,word2是类名return self.text.lower() == word2.text.lower() #和别的类text比较xx == dd #类直接比较
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。