日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

6.python基礎(三)

系統 2064 0

文章目錄

  • 1. 字典增刪
  • 2. 模塊、類、對象
    • 2.1 一個類的例子
  • 3.繼承和組合
    • 3.1 什么是繼承
      • 3.1.1 隱式繼承
      • 3.1.2 顯式覆蓋
      • 3.1.3 在運行前或運行后替換
      • 3.1.4 三種方式組合使用
    • 3.2 組合
    • 3.3 繼承和組合的應用場合

1. 字典增刪

            
              stuff
              
                =
              
              
                {
              
              
                "name"
              
              
                :
              
              
                "jack"
              
              
                ,
              
              
                "age"
              
              
                :
              
              
                "18"
              
              
                ,
              
              
                "height"
              
              
                :
              
              
                "180"
              
              
                }
              
              
stuff
              
                [
              
              
                "city"
              
              
                ]
              
              
                =
              
              
                "beijing"
              
              
                print
              
              
                (
              
              stuff
              
                )
              
              
                del
              
               stuff
              
                [
              
              
                "city"
              
              
                ]
              
              
                print
              
              
                (
              
              stuff
              
                )
              
            
          

2. 模塊、類、對象

  • 模塊通過import調用,調用之后就可以使用模塊里面的函數、變量等。就比如,import sklearn。
  • 類、實例化、對象
            
              
                class
              
              
                mystuff
              
              
                (
              
              
                )
              
              
                :
              
              
                # 對象初始化
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                )
              
              
                :
              
              
        self
              
                .
              
              tangerine 
              
                =
              
              
                "hhhhhhhhhh"
              
              
                def
              
              
                apple
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "i am superman"
              
              
                )
              
              
        
thing 
              
                =
              
               mystuff
              
                (
              
              
                )
              
              
                # 實例化,得到thing這個對象。
              
              
thing
              
                .
              
              apple
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              thing
              
                .
              
              tangerine
              
                )
              
            
          

將類實例化就會得到對象,可以對對象調用函數等操作。

2.1 一個類的例子

            
              
                class
              
              
                Song
              
              
                (
              
              
                object
              
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                ,
              
              lyrics
              
                )
              
              
                :
              
              
		self
              
                .
              
              lyrics 
              
                =
              
               lyrics

	
              
                def
              
              
                sing_me_a_song
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                for
              
               line 
              
                in
              
               self
              
                .
              
              lyrics
              
                :
              
              
                print
              
              
                (
              
              line
              
                )
              
              

happy_baby 
              
                =
              
               Song
              
                (
              
              
                [
              
              
                "happy birthday to you"
              
              
                ,
              
              
                "happy new year"
              
              
                ]
              
              
                )
              
              
happy_baby
              
                .
              
              sing_me_a_song
              
                (
              
              
                )
              
            
          

3.繼承和組合

大部分使用繼承的場合都可以使用組合取代或簡化,而多重繼承則需要不惜一切地避免。

3.1 什么是繼承

繼承就是指一個類地大部分或全部功能是從一個父類中獲得的,父類和字類有三種交互方式:

  • 子類上的動作完全等同于父類上的動作
  • 子類上的動作完全覆蓋父類上的動作
  • 子類上的動作部分替換了父類上的動作

3.1.1 隱式繼承

            
              
                # 隱式繼承
              
              
                class
              
              
                parent
              
              
                (
              
              
                object
              
              
                )
              
              
                :
              
              
                def
              
              
                implicit
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "parent implicit()"
              
              
                )
              
              
                class
              
              
                child
              
              
                (
              
              parent
              
                )
              
              
                :
              
              
                pass
              
              

dad 
              
                =
              
               parent
              
                (
              
              
                )
              
              
                .
              
              implicit
              
                (
              
              
                )
              
              
child 
              
                =
              
               child
              
                (
              
              
                )
              
              
                .
              
              implicit
              
                (
              
              
                )
              
            
          

結果如圖:
6.python基礎(三)_第1張圖片

3.1.2 顯式覆蓋

            
              
                class
              
              
                parent
              
              
                (
              
              
                object
              
              
                )
              
              
                :
              
              
                def
              
              
                override
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "parent override()"
              
              
                )
              
              
                class
              
              
                child
              
              
                (
              
              parent
              
                )
              
              
                :
              
              
                def
              
              
                override
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "child override()"
              
              
                )
              
              

dad 
              
                =
              
               parent
              
                (
              
              
                )
              
              
                .
              
              override
              
                (
              
              
                )
              
              
child 
              
                =
              
               child
              
                (
              
              
                )
              
              
                .
              
              override
              
                (
              
              
                )
              
            
          

結果如圖:
6.python基礎(三)_第2張圖片

3.1.3 在運行前或運行后替換

            
              
                class
              
              
                parent
              
              
                (
              
              
                object
              
              
                )
              
              
                :
              
              
                def
              
              
                altered
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "parent altered()"
              
              
                )
              
              
                class
              
              
                child
              
              
                (
              
              parent
              
                )
              
              
                :
              
              
                def
              
              
                altered
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "child, before parent altered()"
              
              
                )
              
              
                super
              
              
                (
              
              child
              
                ,
              
              self
              
                )
              
              
                .
              
              altered
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              
                "child,after parent altered()"
              
              
                )
              
              

parent
              
                (
              
              
                )
              
              
                .
              
              altered
              
                (
              
              
                )
              
              
child
              
                (
              
              
                )
              
              
                .
              
              altered
              
                (
              
              
                )
              
            
          

super(child,self)還保留著繼承關系,因此通過繼承父類之后,通過.altered()調用了父類的altered函數。

結果如圖:
6.python基礎(三)_第3張圖片

3.1.4 三種方式組合使用

            
              
                class
              
              
                parent
              
              
                (
              
              
                )
              
              
                :
              
              
                def
              
              
                override
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "parent override()"
              
              
                )
              
              
                def
              
              
                implicit
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "parent implicit()"
              
              
                )
              
              
                def
              
              
                altered
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "parent altered()"
              
              
                )
              
              
                class
              
              
                child
              
              
                (
              
              parent
              
                )
              
              
                :
              
              
                def
              
              
                override
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "child override()"
              
              
                )
              
              
                def
              
              
                altered
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "child, before parent altered()"
              
              
                )
              
              
                super
              
              
                (
              
              child
              
                ,
              
               self
              
                )
              
              
                .
              
              altered
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              
                "child,after parent altered()"
              
              
                )
              
              
		
dad 
              
                =
              
               parent
              
                (
              
              
                )
              
              
son 
              
                =
              
               child
              
                (
              
              
                )
              
              

dad
              
                .
              
              implicit
              
                (
              
              
                )
              
              
son
              
                .
              
              implicit
              
                (
              
              
                )
              
              

dad
              
                .
              
              override
              
                (
              
              
                )
              
              
son
              
                .
              
              override
              
                (
              
              
                )
              
              

dad
              
                .
              
              altered
              
                (
              
              
                )
              
              
son
              
                .
              
              altered
              
                (
              
              
                )
              
            
          

結果如下:
6.python基礎(三)_第4張圖片

3.2 組合

            
              
                class
              
              
                other
              
              
                (
              
              
                object
              
              
                )
              
              
                :
              
              
                def
              
              
                override
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "other override()"
              
              
                )
              
              
                def
              
              
                implicit
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "other implicit()"
              
              
                )
              
              
                def
              
              
                altered
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "other altered()"
              
              
                )
              
              
                class
              
              
                child
              
              
                (
              
              
                object
              
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                )
              
              
                :
              
              
		self
              
                .
              
              other 
              
                =
              
               other
              
                (
              
              
                )
              
              
                def
              
              
                implicit
              
              
                (
              
              self
              
                )
              
              
                :
              
              
		self
              
                .
              
              other
              
                .
              
              implicit
              
                (
              
              
                )
              
              
                def
              
              
                override
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "child override()"
              
              
                )
              
              
                def
              
              
                altered
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "child, before parent altered()"
              
              
                )
              
              
		self
              
                .
              
              other
              
                .
              
              altered
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              
                "child,after parent altered()"
              
              
                )
              
              
		
son 
              
                =
              
               child
              
                (
              
              
                )
              
              

son
              
                .
              
              implicit
              
                (
              
              
                )
              
              
son
              
                .
              
              override
              
                (
              
              
                )
              
              
son
              
                .
              
              altered
              
                (
              
              
                )
              
            
          

這里不是使用了繼承的方法,而是,child里面有一個other()用來實現繼承的功能。

結果如下:
6.python基礎(三)_第5張圖片

3.3 繼承和組合的應用場合

繼承和組合說到底都是為了解決關于代碼重復的問題。
每個人的代碼風格不同,這里僅代表一點建議:

  • 不惜一切避免多重繼承。
  • 如果一些代碼會在不同位置和場合用到,建議用組合。
  • 只有在代碼的可復用部分之間有明確清楚的聯系的時候,可以通過一個單獨的共性聯系起來的時候,才用繼承。

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 宜君县| 平遥县| 大同县| 房山区| 铅山县| 望都县| 会昌县| 内江市| 弋阳县| 临西县| 包头市| 山西省| 资中县| 洮南市| 西畴县| 郓城县| 曲阳县| 荣成市| 柏乡县| 泗洪县| 潮州市| 顺平县| 延庆县| 乡宁县| 上杭县| 宜宾市| 张掖市| 固阳县| 博湖县| 唐海县| 阿拉善盟| 迁安市| 观塘区| 新竹市| 图木舒克市| 安乡县| 镇平县| 芮城县| 观塘区| 舟山市| 嘉善县|