一.类基础
#类
class Dog(): #定义
def __init__(self,name): #初始化属性,self赋值后,所有方法都可以用
self.name = name
def 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 = text
def __eq__(self, word2): #不用再带入类,word2是类名
return self.text.lower() == word2.text.lower() #和别的类text比较
xx == dd #类直接比较
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SN4YTNwcTMyYTNyYTMtU2Zh1Wavw1Nw8CXxIDMy8CXzRWYvxGc19CX05WZ052bj1Cc39CXt92YuM3YuVXepxWYucmbppWalJWLuNWLzN3buMHcvZXZktmbpx2Lc9CX6MHc0RHaiojIsJye.png)
本文版权归作者所有,欢迎转载,请务必添加原文链接。