黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

6.python基礎(三)

系統 2297 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條評論