亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

6.python基礎(三)

系統(tǒng) 2142 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調用,調用之后就可以使用模塊里面的函數(shù)、變量等。就比如,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
              
                )
              
            
          

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

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函數(shù)。

結果如圖:
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()用來實現(xiàn)繼承的功能。

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

3.3 繼承和組合的應用場合

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

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

更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品国产免费观看 | 久久国产乱子伦精品免费强 | 国产成人精品免费午夜 | ijzzijzz精的女人美女 | 国产精品亚洲一区二区三区久久 | 中文字幕人成不卡一区 | 欧美日韩色综合网站 | 欧美成人免费在线观看 | 日韩 亚洲 欧美 中文 高清 | 日本一级淫一片免费 | 黄色片在线观看网址 | 亚洲国产精品一区二区首页 | 天天曰天天爽 | 精品国产成人 | 自拍在线视频 | 色中色综合 | 亚洲国产男人本色在线观看的a站 | 乱色专区 | 国产成人亚洲综合一区 | 黄页在线播放网址 | 视频国产91 | 奇米影视亚洲狠狠色777不卡 | 中文字幕福利 | 日韩大片在线 | 一区二区三区成人 | 日韩欧美视频在线 | 国产免费a视频 | 韩国色三级伦不卡高清在线观看 | 国产人成精品综合欧美成人 | 久久线看观看精品香蕉国产 | 天天射天天干天天操 | 性视频xxx| 国产精品亚洲精品日韩已满 | 天天摸天天操天天爽 | 立即播放免费毛片一级 | 这里只有久久精品 | 国产精品原创 | 97久久人人爽人人爽人人 | 男人午夜影院 | 午夜激情婷婷 | 奇米影音四色 |