1. 程式人生 > >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 值
>>> 
'''