[python官方文件]9類

橘子oly發表於2016-10-17

#這只是一個簡要的個人回顧,慎看


作用域和名稱空間:名稱空間(命名-物件の對映)

built-in-names:內建-函式、變數、型別etc【直譯器啟動-直譯器關閉】
模組中的函式,變數,類【module imported-一般是直譯器退出】
類中的成員變數,成員函式【類定義-】
方法中的變數【方法被呼叫-方法返回/遇到未被處理的異常】
作用域:從內向外搜尋,知道最外層的內建名稱空間
global的用法:在內層作用域中 global x就可以直接使用模組名稱空間的x變數了,該作用域中所有
對x的操作就是對全域性x的操作,改變x將直接改變模組中的x


類:【python中一切皆物件,類也是物件】
定義類 class ClassName
類操作:屬性引用和例項化
特殊方法__init__(self,arg)
類變數和例項變數:後者對每個例項都是唯一的,前者是用於所有例項共享的屬性和變數
(這時針對可變物件要謹慎使用)
繼承:class DerivedClassName(BaseClassName)
isinstance()  issubclass()
多繼承class DerivedClassName(Base1,Base2,Base3)在屬性搜尋時是深度優先規則,即在子類搜尋
不到的屬性,先去Base1及其所有base類中搜尋,這比廣度優先更合理--深度優先規則使Base1的直接
屬性和繼承的屬性之間沒有差別
私有變數和類本地引用:類中不存在“只能從物件內部訪問的”私有變數。
異常也是類:except時,若捕捉到的是該異常類的子類,則之間進該except,若是該類的基類,則
繼續往下except。
迭代器:大多數容器物件都可以用for遍歷,這實際上是for語句在容器物件中呼叫iter(),iter()返
回了一個定義了next()方法的迭代器物件,再不斷呼叫next()方法。

相關文章