Python 是一種面向對象的編程語言,支持內部類的使用。生成內部類的方法很簡單,只需要在一個類的內部定義另一個類即可。但是,調用內部類需要注意一些事項。
class A: class B: def __init__(self): self.value = "B" def __init__(self): self.b = A.B() a = A() print(a.b.value)
在上面的代碼中,我們定義了一個類A
。這個類里面含有一個內部類B
,B
中含有一個屬性value
。我們再定義一個a
類型為A
的實例,然后輸出a.b.value
。
上述代碼執行結果為:
B
因為我們創建了對象a
,并調用其中的屬性b
,最后輸出了b
中的屬性value
。
需要注意的是,如果沒有實例化外部類A
,那么將無法使用內部類B
。
class A: class B: def __init__(self): self.value = "B" a = A.B() # 錯誤 AttributeError: 'type' object has no attribute 'B'
在這個例子中,我們嘗試去創建一個A.B
類型的對象,但是 Python 拋出了錯誤。這是因為在沒有實例化外部類A
的情況下,內部類B
并不存在。