Python3中 new 方法和 init

2021-09-30 17:24:13 字數 329 閱讀 9117

我們使用物件導向程式設計,接觸最多的魔法方法就是__init__方法。我們都知道init方法是初始化物件的,但是物件從哪兒來的呢?其實,在我們建立乙個例項物件的時候,另外乙個魔術方法__new__就為我們建立了物件,並且將物件返回給__init__,讓__init__為我們初始化。但是我們為什麼沒有寫__new__方法呢?因為我們繼承的父類中有這個方法,自動幫我們做好了。

總結來說:

new方法幫我們建立物件,並返回給init方法

init方法幫我們初始化

順便提一句,單例模式就是利用new方法幫我們初始化物件的原理來實現的

單例模式案例

python3內建方法

本文大部分內容來自 主要內容為python3中的內建函式,可以通過命令 dir builtins 進行查詢 對於具體某個內建函式可以通過命令 help 函式名 檢視其功能和具體用法。內建函式 abs 對傳入引數取絕對值 bool 對傳入引數取布林值,none,0,這些引數傳入bool後,返回fals...

Python3中bytes和HexStr之間的轉換

在python運算元據內容時,多數情況下可能遇到下面3種型別的資料處理 hexstring 如 1c532145697a8b6f str 如 x1c x53 x21 x45 x69 x7a x8b x6f list 如 0x1c,0x53,0x21,0x45,0x69,0x7a,0x8b,0x6f ...

Python3中is和 的區別?

1.背景 1 變數 記憶體理解 變數 用來標識 identify 一塊記憶體區域。為了方便表示記憶體,我們操作變數實質上是在操作變數指向的那塊記憶體單元。編譯器負責分配。我們可以使用python內建函式id 來獲取變數的位址。變數名 是乙個識別符號 dientify 用來代之一塊記憶體空間,使用這個...