国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python魔法方法詳解

2020-02-16 01:07:43
字體:
來源:轉載
供稿:網友

據說,Python 的對象天生擁有一些神奇的方法,它們總被雙下劃線所包圍,他們是面向對象的 Python 的一切。

他們是可以給你的類增加魔力的特殊方法,如果你的對象實現(重載)了這些方法中的某一個,那么這個方法就會在特殊的情況下被 Python 所調用,你可以定義自己想要的行為,而這一切都是自動發生的。

Python 的魔術方法非常強大,然而隨之而來的則是責任。了解正確的方法去使用非常重要!

魔法方法

含義

基本的魔法方法

__new__(cls[, ...])

    new 是在一個對象實例化的時候所調用的第一個方法 它的第一個參數是這個類,其他的參數是用來直接傳遞給 init 方法 new 決定是否要使用該 init 方法,因為 new 可以調用其他類的構造方法或者直接返回別的實例對象來作為本類的實例,如果 new 沒有返回實例對象,則 init 不會被調用 new 主要是用于繼承一個不可變的類型比如一個 tuple 或者 string__init__(self[, ...]) 構造器,當一個實例被創建的時候調用的初始化方法

__del__(self) 析構器,當一個實例被銷毀的時候調用的方法

__call__(self[, args...]) 允許一個類的實例像函數一樣被調用:x(a, b) 調用 x.__call__(a, b)

__len__(self) 定義當被 len() 調用時的行為

__repr__(self) 定義當被 repr() 調用時的行為

__str__(self) 定義當被 str() 調用時的行為 類似于Java中toString方法

__bytes__(self) 定義當被 bytes() 調用時的行為

__hash__(self) 定義當被 hash() 調用時的行為

__bool__(self) 定義當被 bool() 調用時的行為,應該返回 True 或 False

__format__(self, format_spec) 定義當被 format() 調用時的行為

有關屬性

__getattr__(self, name) 定義當用戶試圖獲取一個不存在的屬性時的行為

__getattribute__(self, name) 定義當該類的屬性被訪問時的行為

__setattr__(self, name, value) 定義當一個屬性被設置時的行為

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

__dir__(self) 定義當 dir() 被調用時的行為

__get__(self, instance, owner) 定義當描述符的值被取得時的行為

__set__(self, instance, value) 定義當描述符的值被改變時的行為

__delete__(self, instance) 定義當描述符的值被刪除時的行為

比較操作符

__lt__(self, other) 定義小于號的行為:x < y 調用 x.__lt__(y)

__le__(self, other) 定義小于等于號的行為:x <= y 調用 x.__le__(y)

__eq__(self, other) 定義等于號的行為:x == y 調用 x.__eq__(y)

__ne__(self, other) 定義不等號的行為:x != y 調用 x.__ne__(y)

__gt__(self, other) 定義大于號的行為:x > y 調用 x.__gt__(y)

__ge__(self, other) 定義大于等于號的行為:x >= y 調用 x.__ge__(y)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭山县| 内黄县| 正镶白旗| 中西区| 洞头县| 曲周县| 大理市| 南昌县| 绿春县| 深州市| 上杭县| 鄄城县| 邓州市| 察隅县| 长阳| 东宁县| 萨嘎县| 阿勒泰市| 周口市| 赞皇县| 贵阳市| 嘉善县| 谢通门县| 浮梁县| 永川市| 上栗县| 宝兴县| 通化市| 万州区| 隆子县| 江城| 两当县| 永和县| 临高县| 丰台区| 神池县| 乃东县| 金溪县| 通榆县| 靖宇县| 吉水县|