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