Python类间参数传递与继承调用详解
本文详细解析Python中类之间的参数传递机制,涵盖继承类中__init__的调用顺序、类方法直接调用与实例化调用的区别,以及多余参数处理。通过具体代码示例说明如何正确传递参数并避免常见错误,帮助开发者理解类间交互逻辑。
Python类间参数传递与继承调用详解
本文记录Python类间参数传递的练习过程及调试步骤,重点演示类继承中的初始化调用、方法定义及参数处理逻辑。
类定义与参数传递示例
class A(object):
def __init__(self,a="A"):
print("enter",a)
print("leave",a)
def mainA(readA,*D): #如果使用实例化B(),调用mainA,D收集进来D多余的参数.(参考第3点说明)
print("enter mainA")
reaA = "内部添加的"
print("leave mainA")
return (reaA + " "+str(D))
class B(A):
def __init__(self, a =None):
print("enter B ")
super().__init__()
self.read = a
print("leave B")
def main(read,*two,**three): #这个read 与上一个self.read 无任何关联,星号收集参数.
print("enter main")
read = 1
print("leave main")
return read
'''
=================不实例化的调用,可以直接使用 类名.函数名(参数) ======================
>>> B.main(123)
enter main
leave main
1
>>> fo=B.main(123)
enter main
leave main
>>> print(fo)
1
>>>
'''
'''
==================不实例化继承后的A,也可以直接使用======================================
>>> print(B.mainA(12))
我是minA
>>>
'''
'''
=================================第3点======================================
细节方面注意:
类实例化后,如: x=B() 使用mainA时需要注意有多余的参数
>>> x=B()
enter B
enter A
leave A
leave B
>>> x.mainA()
enter mainA
leave mainA
'内部添加的 ()' #这里有一个多余的None 值
>>>
'''
以上关于Python类间参数传递的内容为完整示例,供参考学习。如有疑问欢迎交流,感谢支持。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









