day13_class

1吓揪、類的定義:類就是擁有相同功能和相同屬性的對象的集合鲁僚。 —— 類是抽象的
2动漾、對象:類的實例搬俊。     —— 具體的

生活角度看類和對象刻坊。
    如果人是類方仿,某個人就是對象征字。
    如果電腦是類,對象就是具體到某一臺電腦计寇。

2锣杂、類的聲明
    語法:
        class 類名:
            類的類容
            
    說明
        class ——聲明類的關(guān)鍵字脂倦。
        類名 —— 標識符,不能是關(guān)鍵字元莫, 見名知義赖阻、首字母大寫,駝峰式命名踱蠢。
        :冒號—— 固定寫法
        類的類容——主要包含:類的說明文檔火欧、屬性(普通變量)、功能(函數(shù))茎截。
        
        class Person:
            """人類"""
            # ===========屬性===========
            # ===========方法============
            def eat(self):
                print(‘人吃’+ food)
        p1 = Person()    # p1 就是Person類的 對象
        
        ============調(diào)用類方法苇侵。===========
        @classmethond
        def destroy(cls):
            print(‘人類破壞環(huán)境’)
        Person.destroy()
        
        ===========靜態(tài)方法=======
        @staticemthod
        def beat_animal():
            print(‘人類毆打小動物’)
    調(diào)用:靜態(tài)方法         
        Person.beat_animal()


對象怎么聲明
    對象 = 類名() —— 創(chuàng)建指定的類對應的對象。

類中的方法:
    1企锌、方法:聲明在類中的函數(shù)就是方法榆浓。
        類中的方法有3種:對象方法、類方法霎俩、靜態(tài)方法哀军。
        
    a沉眶、對象方法:直接聲明在類中的函數(shù)打却。有默認參數(shù)self
                 通過類的對象來調(diào)用 —— 對象 . 對象方法()
                 有默認方法self,參數(shù)通過對象調(diào)用的時候谎倔,這個參數(shù)不用傳參柳击,系統(tǒng)會自動將當前對象傳給self。
                 self片习,當前對象捌肴,誰調(diào)用self就只向誰。當前對象能做的事情藕咏,self都可以做状知。
    b、類方法: 聲明函數(shù)前加@classmethod
                有默認參數(shù) cls ——通過類調(diào)用的時候孽查,這個參數(shù)不用傳參饥悴,因為系統(tǒng)會自動將當前類傳遞給它。
                    (cls盲再,當前類 —— 誰調(diào)用就指向誰西设, 當前類能做的事,cls都可以做)
                通過類來調(diào)用:類 . 類方法()
        
    c答朋、靜態(tài)方法:聲明前加@staticmethod
                 沒有默認參數(shù)
                 通過類來調(diào)用:類 . 靜態(tài)方法()
    
===================================================================================================================            
1贷揽、init方法: 類中默認繼承的一個魔法方法——用來初始化類; 本質(zhì)是對象方法,不需要程序員自己調(diào)用梦碗,會被自動調(diào)用禽绪。
        通過創(chuàng)建對象的時候(通過構(gòu)造方法創(chuàng)建對象)蓖救,系統(tǒng)會自動調(diào)用類中的__init__
        創(chuàng)建對象的時候,需不需要參數(shù)印屁,需要幾個參數(shù)看類的__init__方法藻糖。
        什么時候調(diào)用 ——  通過類創(chuàng)建對象的時候,系統(tǒng)會自動調(diào)用類中的  __init__  方法
        (了解) 聲明類的時候系統(tǒng)會自動給我們創(chuàng)建一個函數(shù)库车,這個函數(shù)的函數(shù)名和聲明的類的類名一樣 — 這個函數(shù)叫構(gòu)造方法巨柒。
        函數(shù)中會現(xiàn)在內(nèi)存中開辟空間創(chuàng)建對象,然后用創(chuàng)建的對象去調(diào)用類的 __init__ 方法柠衍,最后將對象返回洋满。
        
        
    class Person:
        def __init__(self,name):
            print('init方法')
    
    p1 = Person()    #: 

========================================================================================================

類的屬性:
    類中的屬性分為:對象屬性珍坊、字段牺勾。
    
    字段:直接聲明在類中的變量,叫字段阵漏。
    
    使用:通過  類.字段  的方式來使用驻民。
    
    當類中屬性的值不會因為對象不同而不同,這種屬性就可以聲明稱類的字段履怯。
    
                class dog:
                    numbers = 10   #這個numbers就是字段回还。
                dog.numbers = 100
                print(dog.numbers)

對象屬性:
    聲明:在 __init__ 方法中,以 self.屬性 = 值  的形式聲明叹洲。
    使用:———— 對象.屬性  的方式來使用柠硕。
    什么時候用:當屬性的值會因為對象不同,而不同的時候运提,使用對象屬性(比如age蝗柔,name等)。
            class Dog:
               def __init__ (self民泵,color1='白色'癣丧,gender1=‘公狗’,age1=‘0’):
                    self.color = name1
                    self.gender = gender1
                    self.age = age1
            dog1 = Dog     
            print(dog1.color)     #白色


聲明類的時候,方法的選擇:
    1栈妆、對象方法:實現(xiàn)函數(shù)的功能需要用到對象屬性胁编,使用對象方法。
    2签钩、類方法:實現(xiàn)函數(shù)的功能不需要對象屬性掏呼。但是需要類的相關(guān)操作(字段),就是用類方法铅檩。
    3憎夷、靜態(tài)方法:實現(xiàn)函數(shù)的功能,不需要對象屬性昧旨,也不需要類相關(guān)的操作拾给,使用靜態(tài)方法祥得。

===============================================================================================

屬性的操作

    python中的對象屬性,支持增蒋得、刪级及、改、查额衙。
    
     class Dog:
                def __init__(self,name):
                    self.name = name
                    self.age = 0
            dog1 = Dog(大黃)
            dog2 = Dog(財財)

1饮焦、查
    a.對象.屬性 獲取指定屬性對應的值,如果屬性不存在會報錯窍侧。
    
            print(dog1.name)    # 大黃   
            
    b县踢、getattr(對象,屬性名伟件,默認值)——獲取指定對象指定屬性對應的值硼啤,當屬性不存在不會報錯,返回默認值斧账。
                                    如果沒有設置默認值谴返,會報錯。
                                    
            print(getattr(dog1,'name'))       # 大黃
            print(getattr(dog1,'name2',100))  #100

2咧织、增嗓袱、改
    a、對象.屬性 = 值 —— 當屬性不存在的時候添加屬性拯爽,當屬性存在的時候索抓,修改屬性的值钧忽。
            dog1.gender = '母狗'
            print( dog1.gende)    會添加 母狗
    
            dog1.name = '貝貝'
            print(dog1.name)      #貝貝
 
    b毯炮、setattr(對象,屬性名耸黑,值)  —— 當屬性不存在就添加屬性桃煎,當屬性存在修改屬性的值。

3大刊、刪
    a为迈、del 對象,屬性
    b缺菌、delattr(對象葫辐,屬性名)
    
注意:對象屬性的增刪改查只針對單個對象。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伴郁,一起剝皮案震驚了整個濱河市耿战,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌焊傅,老刑警劉巖剂陡,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狈涮,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸭栖,警方通過查閱死者的電腦和手機歌馍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晕鹊,“玉大人松却,你說我怎么就攤上這事〗埃” “怎么了玻褪?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長公荧。 經(jīng)常有香客問我带射,道長,這世上最難降的妖魔是什么循狰? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任窟社,我火速辦了婚禮,結(jié)果婚禮上绪钥,老公的妹妹穿的比我還像新娘灿里。我一直安慰自己,他們只是感情好程腹,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布匣吊。 她就那樣靜靜地躺著,像睡著了一般寸潦。 火紅的嫁衣襯著肌膚如雪色鸳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天见转,我揣著相機與錄音命雀,去河邊找鬼。 笑死斩箫,一個胖子當著我的面吹牛吏砂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乘客,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼狐血,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了易核?” 一聲冷哼從身側(cè)響起匈织,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎耸成,沒想到半個月后报亩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浴鸿,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年弦追,在試婚紗的時候發(fā)現(xiàn)自己被綠了岳链。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡劲件,死狀恐怖掸哑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情零远,我是刑警寧澤苗分,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站牵辣,受9級特大地震影響摔癣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜纬向,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一择浊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧逾条,春花似錦琢岩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吃警,卻和暖如春糕篇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背汤徽。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工娩缰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谒府。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像浮毯,于是被迫代替她去往敵國和親完疫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 補充: 編程思想的轉(zhuǎn)變 1.面向過程編程 -- 算法2.函數(shù)式編程 -- 函數(shù)/模塊3.面向?qū)ο缶幊?...
    _C__C_閱讀 66評論 0 0
  • 什么是對類/什么是對象 1)官方定義類就是擁有相等功能和相同的屬性的對象的集合 -- 抽象的對象就是類的實例 ...
    不挖石油的小小閱讀 217評論 1 3
  • 01-class and object 類和對象 02-object attribute and init met...
    十二右閱讀 311評論 0 2
  • 首先輸入文件格式如下下圖债蓝。 代碼如下壳鹤,這個流程是根據(jù)sentieon提供的流程稍加改動而來,這里不再對每一步進行解...
    Neal_Bio閱讀 1,329評論 0 1
  • 學習結(jié)束饰迹,回到家九點半了芳誓,孩子已經(jīng)睡著了余舶。 書包依舊孤單的蜷縮在沙發(fā)上,拉鏈的口都沒被小主人拉開過锹淌,書本文...
    簡_6dc0閱讀 96評論 0 2