與運算子無關
類別方法名
數值轉換
abs、bool、complex、int、float、hash、index
模擬集合
len、getitem、setitem、delitem、contains
迭代列舉
iter、reversed、next
可呼叫模型
call
上下文管理
enter、exit
例項建立和銷毀
new、init、del
屬性管理
getattr、getattribute、setattr、delattr、dir
屬性描述符
get、set、delete、@property、@name.setter
與運算子相關
類別方法名
一元運算子
neg ( - )、pos ( + )、abs (絕對值)
比較運算
add、sub、mul、truediv ( / )、floordiv ( // )、mod ( % )、pow ( ** )、round
位運算子
invert ( ~ )、lshift ( << )、rshift ( >> )、and ( & )、or、xor ( ^ )
部分方法實現
class
people
:# 初始化方法
def__init__
(self, name)
: self.__name = name
self.parts =
["head"
,"leg"
,"body"
]# f'content' 格式化字串
def__format__
(self, format_spec)
:return self.__name
# 字串方法
def__repr__
(self)
:# 如果沒有此方法則會列印
return f"people(name=)"
def__str__
(self)
:# 字串表示
return self.__name
# 上下文管理器的開始與退出方法
def__enter__
(self)
:print
(f" is waking up !"
)def
__exit__
(self, exc_type, exc_val, exc_tb)
:print
(f" is going to sleep..."
)# 獲取長度
def__len__
(self)
:return
len(self.parts)
# 列表方法
def__setitem__
(self, index, value)
: self.parts[index]
= value
def__getitem__
(self, item)
:return self.parts[item]
# 使用 . 對屬性進行賦值以及取值
@property
defage
(self)
:return self.__age
@age.setter
defage(self, value)
: self.__age = value
# 例項方法
deflearn
(self)
:print
(f" is learning"
)
執行結果:
>>
> people = people(
"jack"
)>>
>
print
(f"my name is "
)>>
> my name is jack
>>
>
print
(repr
(people)
)>>
> people(name=jack)
>>
>
with people(
"jack"
)as p:
>>
>
print
("i am working!"
)>>
> jack is waking up !
>>
> i am working!
>>
> jack is going to sleep...
>>
>
for p in people:
>>
>
print
(p, end=
", "
)>>
> head, leg, body,
>>
>
print
("\n handstand!"
)>>
> handstand!
>>
>
for p in
reversed
(people)
:print
(p, end=
", "
)>>
> body, leg, head,
>>
> people.age =
"12"
>>
>
print
(people.age)
>>
>
12
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...
Python 魔術方法
usr bin env python coding utf 8 author ray time 2018 12 6 魔術方法例項 init 建構函式,在生成物件時呼叫,用來初始化值 del 析構函式,釋放物件時使用 比如編輯檔案,把關閉檔案的操作寫在此方法中,程式結束時就會關閉軟體 str 使用pr...