Python 高级编程笔记之类别
目錄:
主要內容:
1.子類化內建類型
# -*- coding:utf-8 -*-class Folder(list):def __init__(self, name):self.name = namedef dir(self):print "I am : %s" % self.namefor el in self:print ela = Folder("test")a.append("test2") a.append("test3")a.dir()運行結果:
2.訪問超類中的方法-super
# -*- coding:utf-8 -*-# super是用來解決多重繼承問題,單繼承沒問題,多繼承中涉及到查找順序,重復調用等一些列問題,前人留下來的經驗: # 保持一致性,要不全部用類名調用父類,要不全部用superclass Mama(object):def say(self):print "do you work"class Sister(Mama):def say(self):# Mama.say(self) # 老方法super(Sister, self).say() # superprint "just for work"Ting = Sister() Ting.say()運行結果:
do you work
just for work
3.描述符 & 屬性
描述符是Python中復雜特性訪問的基礎,它們在內部使用,以實現屬性、類、靜態方法和super類等。它們是定義另一個特性可能訪問方式的類。換句話說,一個類可以委托另一個類來管理其特性。
描述符類基于三個必須實現的特殊方法:
運行結果:
static
lwy
4.元編程
new-style類帶來了一種能力,可以通過兩個特殊的方法—_ new _ 和_ metaclass _在運行時修改類和對象的定義。
參考文獻:
Python之美[從菜鳥到高手]–玩轉描述符和屬性
深刻理解Python中的元類(metaclass)
總結:
第三章講的四點,真不愧是Python高級編程書籍,講的這些都不是很懂,在寫了一年多的Python代碼了,都沒寫過這些,只是看別人的代碼中出現過。_ new _ 方法一般都沒用到,用 _ init _,調用類也沒有用super, 直接是類名,今后代碼中多多嘗試這些新方法,看看這些新方法究竟有啥子好處。
本人利用Bootstrap + EasyUI + Django開發網站:http://www.xuyangting.com/ 歡迎來訪
陽臺測試: 239547991(群號)
本人博客:http://xuyangting.sinaapp.com/
總結
以上是生活随笔為你收集整理的Python 高级编程笔记之类别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2016-2045年新兴科技趋势报告
- 下一篇: python读取excel画数据曲线