Python筆記2 魔術方法

2021-10-10 01:39:58 字數 1225 閱讀 3684

__str__方法:

class

peole

:def

__init__

(self,name,age,pro)

: self.name=name

self.age=age

self.pro=pro

print

('init函式初始化'

)pass

# def aihao(self):

# print('{}{}了,讀{}專業'.format(self.name,self.age,self.pro))

# pass

def__str__

(self)

:'''

列印物件 自定義物件 是內容格式

:return:

'''return

'{}{}了,讀{}專業'

.format

(self.name,self.age,self.pro)

pass

def__new__

(cls,

*args,

**kwargs)

:'''

建立物件例項的方法 每呼叫一次 就會生成乙個新的物件 cls 就是class的縮寫

場景:可以控制建立物件的一些屬性限定 經常用來做單例模式的時候來使用

:param args:

:param kwargs:

'''print

('new函式的縮寫'

)return

object

.__new__(cls)

# 這裡是真正建立物件例項的

pass

xm=peole(

'小明'

,'20'

,'電子資訊工程'

)print

(xm)

# __new__和__init__函式的區別

# __new__類的例項化方法,必須要返回該例項,否則物件就建立不成功

#init用來做資料屬性的初始化工作,也可以認為是例項的構造方法,接受類的例項 self對其進行構造

#new有乙個引數是cls 代表要例項化的類,此引數在例項化時由python直譯器提供

#new函式執行要早於 __init__函式

Python 魔術方法筆記

魔術方法總是被 包圍,如 init len 都是常見的魔術方法,這裡主要寫一下我遇到的一些魔術方法 對某個索引值賦值時 即可以進行賦值操作,如 def setitem self,k,v self.put k,v 在上述 的情況下,可以執行p key value操作,即將key賦給k,value賦給v...

python 魔術方法

魔術方法 呼叫方式 解釋 new cls instance myclass arg1,arg2 new 在建立例項的時候被呼叫 init self instance myclass arg1,arg2 init 在建立例項的時候被呼叫 cmp self,other self other,self o...

Python魔術方法

參考文章 python 魔術方法指南 魔術方法,顧名思義是一種可以給物件 類 增加魔法的特殊方法,它們的表示方法一般是用雙下劃線包圍 如 init from os.path import join class fileobject 給檔案物件進行包裝從而確認在刪除時檔案流關閉 def init se...