Python 第十六天

2021-09-29 08:43:47 字數 3582 閱讀 2053

魔法方法總是被雙下劃線包圍:例如:__init__

注:魔法方法第乙個引數為cls(類方法)或者self(例項方法)

其中:cls:代表乙個類名稱

self:代表乙個例項物件的名稱

基本方法:

__init__(self[,...]):構造器,當乙個例項被建立的時候呼叫的初始化方法

__new(cls[,...]):是在乙個物件例項化的時候所呼叫的第乙個方法,在呼叫__init__初始化前,先呼叫__new__

__del__(self):析構器,當乙個物件將要被系統**之時呼叫的方法。

__str__(self):

__str__的時候執行_str_,沒有實現_str_的時候,執行__repr__

當你使用%s格式化的時候,觸發__str__

str強轉資料型別的時候,觸發__str__

__repr__(self):

有__str__的時候執行_str_,沒有實現_str_的時候,執行__repr__

當你使用%r格式化的時候 觸發__repr__

算數運算子:

__add(self,other)__定義加法的行為:+

__sub(self,other)__定義減法的行為:-

__mul__(self,other)__定義乘法的行為:*

__truediv__(self,other)定義真除法的行為:/

__floordiv__(self,other)定義整數除法的行為://

__mod__(self,other)定義取模演算法的行為:%

__divmod__(self,other)定義當被 divmod() 呼叫時的行為

__divmod__(a,b)把除數和餘數運算結果結合起來,返回乙個包含商和餘數的元組(a // b, a % b)。

__pow__(self,other[,module])定義當被 power() 呼叫或 ** 運算時的行為

__lshift__(self,other)定義按位左移位的行為:<<

__rshift__(self,other)定義按位右移位的行為:>>

__and__(self,other)定義按位與操作的行為:&

__xor__(self,other)定義按位異或操作的行為:^

__or__(self,other)定義按位或操作的行為:|

反算數運算子

反運算魔方方法,與算術運算子保持一一對應,不同之處就是反運算的魔法方法多了乙個r。當檔案左操作不支援相應的操作時被呼叫。

例如__radd__(self,other)定義加法的行為:+

__rsub__(self,other)定義減法的行為:-

__rsub__(self,other)定義乘法的行為:*

__rtruediv__(self, other)定義真除法的行為:/

增量賦值運算子:

__iadd__(self,other)定義賦值加法的行為:+=

__isub__(self,other)定義賦值減法的行為:-=

__imul__(self,other)定義賦值乘法的行為:*=

__itruediv__(self,other)定義賦值真除法的行為:/=

__ifloordiv__(self,other)定義賦值整數除法的行為://=

__imod__(self,other)定義賦值取模演算法的行為:%=

__ipow__(self,other[,modulo])定義賦值冪運算的行為:**=

__ilshift__(self,other)定義賦值按位左移位的行為:<<=

__irshift__(self,other)定義賦值按位右移位的行為:>>=

__iand__(self,other)定義賦值按位與操作的行為:&=

__ixor__(self,other)定義賦值按位異或操作的行為:^=

__ior__(self, other)定義賦值按位或操作的行為:|=

一元運算子:

__neg__(self)定義正號的行為:+x

__pos__(self)定義負號的行為:-x

__abs__(self)定義當被abs()呼叫時的行為

__invert__(self)定義按位求反的行為:~x

屬性訪問:

__getattr____getattribute____setattr____delattr____getattr__(self, name): 定義當使用者試圖獲取乙個不存在的屬性時的行為。

__getattribute__(self, name):定義當該類的屬性被訪問時的行為(先呼叫該方法,檢視是否存在該屬性,若不存在,接著去呼叫__getattr__)。

__setattr__(self, name, value):定義當乙個屬性被設定時的行為。

__delattr__(self, name):定義當乙個屬性被刪除時的行為。

描述符:

描述符描述符就是將某種特殊型別的類的例項指派給另乙個類的屬性。

__get__(self, instance, owner)用於訪問屬性,它返回屬性的值。

__set__(self, instance, value)將在屬性分配操作中呼叫,不返回任何內容。

__del__(self, instance)控制刪除操作,不返回任何內容。.

python第十六天

一 包 1 什麼是包?一系列模組的集合 2 有什麼用?包通過資料夾來管理一系列功能相近的模組 3 包重點?包中一定有乙個專門用來管理包中所有模組的檔案 init 4 什麼是包名?包名是存放一系列模組的資料夾名字 5 包名有什麼用 包名 包物件 存放的是管理模組的那個檔案的位址,指向其全域性命名空間。...

學習python 第十六天

流 i o 一 編碼 編碼明文 暗文 明文 暗文 解碼計算機只認識010101 ascii 0 127 ansi ascii加上拉丁文 gb2312 ascii加上7000多個漢字 前八位和後八位 127 gbk gb2312加上2萬多個漢字 前八位 127 unicode 國際通用 utf 8 推...

寒假第十六天

abs x 返回數字的絕對值,如abs 10 返回 10 ceil x 返回數字的上入整數,如math.ceil 4.1 返回 5 cmp x,y 如果 x y 返回 1,如果 x y 返回 0,如果 x y 返回 1 exp x 返回e的x次冪 ex 如math.exp 1 返回2.7182818...