魔術(shù)方法——讓自定義對象更像內(nèi)置類型

所謂魔術(shù)方法,指的是雙下劃綫開頭和結(jié)尾的方法,自定義一個類someclass,然后用dir(someclass)就可以看到python內(nèi)置的這些魔術(shù)方法了。
這些魔術(shù)方法可讓自定義的類有內(nèi)置類型的性質(zhì)(所謂A像B,指的是A像B的某些性質(zhì))。比如自定義的類可能是無法迭代的,但是通過定義iter()與next()方法,可以讓類變成可迭代對象。
官方不建議我們用雙下劃線定義自己的函數(shù)。

name: if name == "main":每當Python解釋器讀源代碼的時候,都會給name賦予一個變量,如果源代碼直接被執(zhí)行,則name == "main",否則不等。這樣做的好處是,如果源代碼模塊只是被imported進另一塊代碼,那么解釋器就只會創(chuàng)建相應的命名變量和方法,而不會去執(zhí)行。更多參考What does if name == “main”: do?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,969評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,424評論 25 708
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    草里有只羊閱讀 18,378評論 0 85
  • 百丈禪師說:“煩惱以忍辱為第一,是非以不辨為湯藥”,說的真是好。年輕時世界黑白兩分,遇事必鑒對錯;后來人性越長,臉...
    憨憨爹閱讀 251評論 0 3
  • 周末我?guī)W生去郊游在一片野花叢中,同學們紛紛談論著自己喜歡的花,這時全校聞 名的“調(diào)皮大王”小強大聲說:“老師我最...
    星夜兼程工作筆記閱讀 440評論 0 1