构造函数的理解(构造函数与 init 方法)
生活随笔
收集整理的這篇文章主要介紹了
构造函数的理解(构造函数与 init 方法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
0. 構造函數與 init 方法
- 構造方法內部禁止添加任何業務邏輯,如果有業務邏輯,請放在 init 方法中;
1. 構造函數的參數
以下為一個堆實現優先隊列(堆的實現借助完全二叉樹,而完全二叉樹又可以通過線性表)的構造函數部分,提供一個表參數(默認為空的 list),使人可以為優先隊列提供一些初始元素,
class PriorityQueue:def __init__(self, elist=[]):self._elems = list(elist)...self._elems = list(elist) ,從 elist 出發做出一個表拷貝有以下一些意義:
- 做拷貝使內部的表脫離原來的表,排除共享;
- 對默認情況,建立的是一個新的空表,
2. 創建類對象實例,卻不定義類對象實例的名稱
就像這樣,
class A: pass A()創建類對象實例,卻不定義類對象實例的名稱,仍然是有意義的,顯然并不直接使用名稱對對象進行操作。比如可以,在類的構造函數中,將 self 自身放進一個容器內部。
>> class A: >> def __init__(self, name, seq=[]): >> self.name = name >> seq.append(self) >> seq = [] >> A('A1', seq) >> A('A2', seq) >> [s.name for s in seq] ['A1', 'A2']轉載于:https://www.cnblogs.com/mtcnn/p/9424078.html
總結
以上是生活随笔為你收集整理的构造函数的理解(构造函数与 init 方法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: http协议要点
- 下一篇: win10系统怎么改win7 如何将wi