Python中的構造函數


Python中的構造函數是__init__函數。在Python中,子類如果定義了構造函數,而沒有調用父類的,那么Python不會自動調用,也就是說父類的構造函數不會執行。

比如有test.py的module文件:

class A:
    def __init__(self, name):
        self.name = name


class B(A):
       def __init__(self, age):
            self.age = age

子類B繼承自A,但是子類B的構造函數沒有調用A的構造函數。下面我們這樣測試:

>>>import test

>>>b = test.B(15)
>>>b.age
15

>>>b.name
AttributeError: 'B' object has no attribute 'name'

由於B沒有調用A的構造函數,因此,實例b上面也沒有屬性name,造成訪問出錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM