#多态的用法
class Dii:
pass
class Aii(Dii):
def run(self):
print(‘一号函数已调用‘)
class Bii(Dii):
def run(Dii):
print(‘二号函数已调用‘)
a=Aii()
print(‘第一个run函数调用中‘)
a.run()
b=Bii()
print(‘第二个run函数调用中‘)
b.run()
‘‘‘
虽然Aii和Bii中有通一个run函数,但是却不会发生python的错误,而且并成功调打印出不同函数中的print里字符串,
是因为python的多态的机制,好处在于调用方法只管调用,不管细节。
‘‘‘
#类的内部权限调用
class Shiyan:
def yi(self): #虽然这个yi函数用不找,但是调用时是首要调用用的.
guang=‘016‘
zeiluozi=‘002‘
self.g=guang
self.z=zeiluozi
def er(self):
print(self.g)
print(self.z)
‘‘‘
因为self这个关键参数,使其自由定义赋值,但是在函数后的元组中不可以添加没赋值的形参。
然而__init__是例外。
‘‘‘
class SHIYAN:
def __init__(self,guang,zeiluozi):#__init__()的形参要和被定义的self数量一样。
self.g=guang
self.z=zeiluozi
def printt(self):
print(‘广的代号:%s;02的代号:%s‘%(self.g,self.z))
‘‘‘
交互模式:
>>> a=SHIYAN(‘‘,‘‘)
‘‘‘
class Yanzheng:
def bb(self):
a=‘016‘
b=‘002‘
self.a=a
self.b=b
def aa(self):
print(self.a)
‘‘‘
交互模式:
>>> a=yanzheng()
>>>a.bb()
>>>a.aa()
‘‘‘
‘‘‘
总结:在调用函数中 函数后的形参都是要么在元组中就被赋值,要么就不要创建形参
然而__init__功能函数是个例外它的用多少个需要调用的赋值的类就要多少的形参,
数量要相等。
‘‘‘
原文地址:https://www.cnblogs.com/meiguicong/p/12619012.html