有借,迷羊文集,英伦宝贝童话屋
【目录】
一、多态和多态性
二、鸭子类型
class animal: #同一类事物:动物 def talk(self): pass class cat(animal): #动物的形态之一:猫 def talk(self): print('喵喵喵') class dog(animal): #动物的形态之二:狗 def talk(self): print('汪汪汪') class pig(animal): #动物的形态之三:猪 def talk(self): print('哼哼哼') #实例化得到三个对象 cat=cat() dog=dog() pig=pig()
class animal: #同一类事物:动物 def talk(self): pass class cat(animal): #动物的形态之一:猫 def talk(self): print('喵喵喵') class dog(animal): #动物的形态之二:狗 def talk(self): print('汪汪汪') class pig(animal): #动物的形态之三:猪 def talk(self): print('哼哼哼') #实例化得到三个对象 cat=cat() dog=dog() pig=pig() cat.talk() # 喵喵喵 dog.talk() # 汪汪汪 pig.talk() # 哼哼哼
class animal: #同一类事物:动物 def talk(self): pass class cat(animal): #动物的形态之一:猫 def talk(self): print('喵喵喵') class dog(animal): #动物的形态之二:狗 def talk(self): print('汪汪汪') class pig(animal): #动物的形态之三:猪 def talk(self): print('哼哼哼') #实例化得到三个对象 cat=cat() dog=dog() pig=pig() def talk(animal): animal.talk() talk(cat) # 喵喵喵 talk(dog) # 汪汪汪 talk(pig) # 哼哼哼
class animal: #同一类事物:动物 def talk(self): pass class wolf(animal): #动物的另外一种形态:狼 def talk(self): print('嗷...') wolf=wolf() # 实例出一头狼 wolf.talk() # 使用者根本无需关心wolf是什么类型而调用talk
import abc # 指定metaclass属性将类设置为抽象类,抽象类本身只是用来约束子类的,不能被实例化 class animal(metaclass=abc.abcmeta): @abc.abstractmethod # 该装饰器限制子类必须定义有一个名为talk的方法 def talk(self): # 抽象方法中无需实现具体的功能 pass class cat(animal): # 但凡继承animal的子类都必须遵循animal规定的标准 def talk(self):# 若子类中没有一个名为talk的方法则会抛出异常typeerror,无法实例化 # typeerror: can't instantiate abstract class cat with abstract methods talk pass cat=cat()
#二者看起来都像文件,因而就可以当文件一样去用,然而它们并没有直接的关系 class txt: #txt类有两个与文件类型同名的方法,即read和write def read(self): pass def write(self): pass class disk: #disk类也有两个与文件类型同名的方法:read和write def read(self): pass def write(self): pass
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python 实现将numpy中的nan和inf,nan替换成对应的均值
python爬虫把url链接编码成gbk2312格式过程解析
网友评论