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