-
Python特殊方法
查看全部 -
對于Person類的定義:
class Person(object):
? ?def __init__(self, name, gender):
? ? ? ?self.name = name
? ? ? ?self.gender = gender希望除了name和gender外,可以提供任意額外的關(guān)鍵字參數(shù),并綁定到實(shí)例,請修改 Person 的__init__()定義,完成該功能。
查看全部 -
已知類Student、Teacher繼承Person類,技能類BasketballMixin、FootballMixin繼承SkillMixin類,請通過多重繼承,分別定義“會(huì)打籃球的學(xué)生”和“會(huì)踢足球的老師”。
查看全部 -
Python繼承類
查看全部 -
Python的魔方方法解讀筆記(以下全都看不懂):
__new__: 對象實(shí)例化時(shí)候調(diào)用的第一個(gè)方法,可以調(diào)用其他類的構(gòu)造方法
__init__: 構(gòu)造器,當(dāng)一個(gè)實(shí)例被創(chuàng)建時(shí)調(diào)用的初始化方法
__del__: 析構(gòu)器,當(dāng)一個(gè)實(shí)例被銷毀時(shí)調(diào)用的方法
__str__: 同__repr__功能類似,前者面向用戶,后者面向程序員
__repr__: 當(dāng)程序員直接打印該對象時(shí),系統(tǒng)將會(huì)輸出該對象的“自我描述”信息,用來告訴外界該對象具有的狀態(tài)信息,當(dāng)使用str()時(shí),實(shí)際調(diào)用的是__str__()方法,而直接輸入變量,調(diào)用的是__repr__()方法。
__bytes__: 調(diào)用會(huì)觸發(fā)必須返回一個(gè)byte的操作
__format__: 字符串格式化
__lt__: 小于
__le__: 小于等于
__ne__: 不等于
__gt__: 大于
__ge__: 大于等于
__eq__: 是否等于,可以將內(nèi)存地址不同的兩個(gè)對象強(qiáng)制變?yōu)橥粋€(gè)對象
__hash__: 在使用內(nèi)置函數(shù)hash()、hash類型集合對自身成員的hash操作兩種場景中觸發(fā)使用
__bool__: 對傳遞對象或值參數(shù)進(jìn)行標(biāo)準(zhǔn)真值檢測
__dir__: 列出對象內(nèi)部所有屬性名和方法名,返回相應(yīng)的值序列,把對象轉(zhuǎn)換為字符串進(jìn)行輸出,或輸出對象的內(nèi)存地址
__set__: 為私有屬性賦值
__call__: 允許一個(gè)類的實(shí)例像函數(shù)一樣被調(diào)用。
__slots__: 限定屬性是否可以動(dòng)態(tài)添加
查看全部 -
xiaoming = Person('Xiao Ming', 'boy', 13) xiaohong = Person('Xiao Hong', 'girl', 14)查看全部
-
class Person(object): def __init__(self, name, sex, age): self.name = name self.sex = sex self.age = age查看全部
-
面向?qū)ο缶幊?/p>
類????屬性????實(shí)例????
查看全部 -
在定義繼承類的時(shí)候,有幾點(diǎn)是需要注意的:
class Student()定義的時(shí)候,需要在括號內(nèi)寫明繼承的類Person
在__init__()方法,需要調(diào)用super(Student, self).__init__(name, gender),來初始化從父類繼承過來的屬性
查看全部 -
和實(shí)例方法不同的是,這里有兩點(diǎn)需要特別注意:
類方法需要使用@classmethod來標(biāo)記為類方法,否則定義的還是實(shí)例方法
類方法的第一個(gè)參數(shù)將傳入類本身,通常將參數(shù)名命名為 cls,上面的 cls.__localtion 實(shí)際上相當(dāng)于Animal.__localtion。
? ??? ?因?yàn)槭窃陬惿险{(diào)用,而非實(shí)例上調(diào)用,因此類方法無法獲得任何實(shí)例變量,只能獲得類的引用。
查看全部 -
在類屬性和實(shí)例屬性同時(shí)存在的情況下,實(shí)例屬性的優(yōu)先級是要高于類屬性的,在操作實(shí)例的時(shí)候,優(yōu)先是操作實(shí)例的屬性。
另外,當(dāng)實(shí)例沒有和類同名的時(shí)候,通過實(shí)例對象,依然可以訪問到類屬性。查看全部 -
def后面?zhèn)鬟f參數(shù)是需要雙下劃線,即要打兩次短劃線
查看全部 -
裝飾函數(shù)一般在函數(shù)內(nèi)部會(huì)調(diào)用傳入的函數(shù),并且可能在其前后增加一些操作,最后返回一個(gè)在修飾函數(shù)中定義的新函數(shù)
查看全部 -
1、顯式地捕獲 i 的值(例如,傳入?yún)?shù))能夠記錄下來i當(dāng)時(shí)的值
2、閉包中f 函數(shù)定義時(shí)循環(huán)內(nèi)會(huì)捕獲 i 的引用,而不是 i 的值
查看全部 -
lambda匿名函數(shù)比較好用,例如lambda s: s.capitalize()??? lambda 后面跟的都是對這個(gè)函數(shù)的定義,:前的s是傳入?yún)?shù),:后的是返回值
查看全部
舉報(bào)