-
通過type()函數,可以獲得變量的類型。
在dir列出的屬性中,有很多是以下劃線開頭和結尾的,這些都是特殊的方法,稱為內建方法,在后面,我們還會學習這些方法。
dir()返回的屬性是字符串列表,如果已知一個屬性名稱,要獲取或者設置對象的屬性,就需要用 getattr() 和 setattr( )函數了。
查看全部 -
從定義上來講,Student和Teacher都擁有來自父類Person繼承的who()方法,以及自己定義的who()方法。但是在實際調用的時候,會首先查找自身的定義,如果自身有定義,則優先使用自己定義的函數;如果沒有定義,則順著繼承鏈向上找。
查看全部 -
通過函數isinstance()可以判斷一個變量的類型。
>>>?isinstance(p,?Person) True?#?p是Person類型 >>>?isinstance(p,?Student) False?#?p不是Student類型 >>>?isinstance(p,?Teacher) False?#?p不是Teacher類型
在繼承鏈上,一個父類的實例不能是子類類型,因為子類比父類多了一些屬性和方法。
isinstance也可以用于Python自有數據類型的判斷
查看全部 -
私有屬性是以雙下劃線'__'開頭的屬性。
在外部訪問私有屬性將會拋出異常,提示沒有這個屬性。
雖然私有屬性無法從外部訪問,但是,從類的內部是可以訪問的。私有屬性是為了保護類或實例屬性不被外部污染而設計的。查看全部 -
如果在類上綁定一個屬性,則所有實例都可以訪問類的屬性,并且,所有實例訪問的類屬性都是同一個!也就是說,實例屬性每個實例各自擁有,互相獨立,而類屬性有且只有一份。
查看全部 -
__init__() 方法的第一個參數必須是 self(也可以用別的名字,但建議使用習慣用法),后續參數則可以自由指定,和定義函數沒有任何區別。定義類后,就可以相應的實例化對象了,需要注意的是,在實例化的時候,需要提供除self以外的所有參數
查看全部 -
class?Fib(object): ????def?__init__(self,?num): ????????self.res?=?[] ????????self.num?=?num ????????a?=?0 ????????b?=?1 ????????for?x?in?range(num): ????????????self.res.append(a) ????????????a,?b?=?b,?a?+?b ????def?__str__(self): ????????return?str(self.res) ????def?__len__(self): ????????return?self.num f?=?Fib(10) print(f) print(len(f))
查看全部 -
服務端建立需要四個步驟:新建socket、綁定IP和端口(bind)、監聽連接(listen)、接受連接(accept)。
查看全部 -
with關鍵字對資源進行訪問的場合,會確保不管在使用過程中是否發生異常,都會執行必要的“清理”的操作,釋放資源,比如文件使用后自動關閉等等。
查看全部 -
大量的非文本文件,比如圖片、壓縮文件、視頻文件、音樂文件等等,這種文件統稱為二進制文件,在Python中打開二進制文件,需要不同的打開模式
查看全部 -
通過input()函數,輸入的是字符串,需要轉型為數字類型。
查看全部 -
如果是導入自定義模塊,則需要考慮路徑問題
可以認為math是一個指向已導入模塊的變量,通過該變量,我們可以訪問math模塊中所定義的所有公開的函數、變量和類
查看全部 -
在定義繼承類的時候,有幾點是需要注意的:
class Student()定義的時候,需要在括號內寫明繼承的類Person
在__init__()方法,需要調用super(Student, self).__init__(name, gender),來初始化從父類繼承過來的屬性
查看全部 -
實例的方法指的就是在類中定義的函數,實例方法的第一個參數永遠都是self,self是一個引用,指向調用該方法的實例對象本身,除此以外,其他參數和普通函數是完全一樣的。
查看全部 -
在python中定義私有變量只需要在變量名或函數名前加上?”__“兩個下劃線,那么這個函數或變量就是私有的了。
查看全部
舉報