欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python面向?qū)ο缶幊獭惻c對象

系統(tǒng) 1612 0

Python面向?qū)ο缶幊獭惻c對象

一、類與對象的概念

類即類別、種類,是面向?qū)ο笤O(shè)計最重要的概念,從一小節(jié)我們得知對象是特征與技能的結(jié)合體,而類則是一系列對象相似的特征與技能的結(jié)合體。

那么問題來了,先有的一個個具體存在的對象(比如一個具體存在的人),還是先有的人類這個概念,這個問題需要分兩種情況去看。

  • 在現(xiàn)實世界中:肯定是先有對象,再有類。
          
            世界上肯定是先出現(xiàn)各種各樣的實際存在的物體,然后隨著人類文明的發(fā)展,人類站在不同的角度總結(jié)出了不同的種類,比如
人類、動物類、植物類等概念。也就說,對象是具體的存在,而類僅僅只是一個概念,并不真實存在,比如你無法告訴我人類
具體指的是哪一個人。
          
        
  • 在程序中:務(wù)必保證先定義類,后產(chǎn)生對象。
          
            這與函數(shù)的使用是類似的:先定義函數(shù),后調(diào)用函數(shù),類也是一樣的:在程序中需要先定義類,后調(diào)用類。不一樣的是:調(diào)用
函數(shù)會執(zhí)行函數(shù)體代碼返回的是函數(shù)體執(zhí)行的結(jié)果,而調(diào)用類會產(chǎn)生對象,返回的是對象。
          
        

二、定義類

按照上述步驟,我們來定義一個類(我們站在老男孩學(xué)校的角度去看,在座的各位都是學(xué)生)

  • 在現(xiàn)實世界中,先有對象,再有類
          
            對象1:李坦克
    特征:
        學(xué)校=oldboy
        姓名=李坦克
        性別=男
        年齡=18
    技能:
        學(xué)習(xí)
        吃飯
        睡覺

對象2:王大炮
    特征:
        學(xué)校=oldboy
        姓名=王大炮
        性別=女
        年齡=38
    技能:
        學(xué)習(xí)
        吃飯
        睡覺

對象3:牛榴彈
    特征:
        學(xué)校=oldboy
        姓名=牛榴彈
        性別=男
        年齡=78
    技能:
        學(xué)習(xí)
        吃飯
        睡覺


現(xiàn)實中的老男孩學(xué)生類
    相似的特征:
        學(xué)校=oldboy
    相似的技能:
        學(xué)習(xí)
        吃飯
        睡覺
          
        
  • 在程序中,務(wù)必保證:先定義(類),后使用類(用來產(chǎn)生對象)

注意:

  • 類中可以有任意python代碼,這些代碼在類定義階段便會執(zhí)行,因而會產(chǎn)生新的名稱空間,用來存放類的變量名與函數(shù)名,可以通過 OldboyStudent.__dict__ 查看.
  • 類中定義的名字,都是類的屬性,點是訪問屬性的語法。
  • 對于經(jīng)典類來說我們可以通過該字典操作類名稱空間的名字,但新式類有限制(新式類與經(jīng)典類的區(qū)別我們將在后續(xù)章節(jié)介紹)。

三、類的使用

  • 引用類的屬性
          
            OldboyStudent.school #查
OldboyStudent.school='Oldboy' #改
OldboyStudent.x=1 #增
del OldboyStudent.x #刪
          
        
  • 調(diào)用類,或稱為實例化,得到程序中的對象
          
            s1=OldboyStudent()
s2=OldboyStudent()
s3=OldboyStudent()

#如此,s1、s2、s3都一樣了,而這三者除了相似的屬性之外還各種不同的屬性,這就用到了__init__
          
        
  • __init__ 方法
          
            #注意:該方法是在對象產(chǎn)生之后才會執(zhí)行,只用來為對象進行初始化操作,可以有任意代碼,但一定不能有返回值
class OldboyStudent:
    ......
    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.sex=sex
    ......

s1=OldboyStudent('李坦克','男',18) #先調(diào)用類產(chǎn)生空對象s1,然后調(diào)用OldboyStudent.__init__(s1,'李坦克','男',18)
s2=OldboyStudent('王大炮','女',38)
s3=OldboyStudent('牛榴彈','男',78)
          
        

四、對象的使用

          
            #執(zhí)行__init__,s1.name='牛榴彈',很明顯也會產(chǎn)生對象的名稱空間可以用s2.__dict__查看,查看結(jié)果為
{'name': '王大炮', 'age': '女', 'sex': 38}

s2.name #查,等同于s2.__dict__['name']
s2.name='王三炮' #改,等同于s2.__dict__['name']='王三炮'
s2.course='python' #增,等同于s2.__dict__['course']='python'
del s2.course #刪,等同于s2.__dict__.pop('course')
          
        

五、補充說明

  • 站的角度不同,定義出的類是截然不同的;
  • 現(xiàn)實中的類并不完全等于程序中的類,比如現(xiàn)實中的公司類,在程序中有時需要拆分成部門類,業(yè)務(wù)類等;
  • 有時為了編程需求,程序中也可能會定義現(xiàn)實中不存在的類,比如策略類,現(xiàn)實中并不存在,但是在程序中卻是一個很常見的類。

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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美日韩三级 | 亚洲色综合图区p | 亚洲天天综合网 | 亚洲日本乱码在线观看 | 国产亚洲欧美一区 | 国产精品1024永久观看 | 国产在线网址 | 亚洲国产成人在线 | 日韩欧美在线免费观看视频 | 免费午夜影片在线观看影院 | 国产嘿咻| 欧美综合伊人久久 | 日韩在线免费视频 | 99热欧美 | 91免费国产 | 夜夜爽夜夜叫夜夜高潮漏水 | 97se亚洲综合在线韩国专区福利 | 午夜视频在线观看免费观看在线观看 | 国产亚洲欧美视频 | 特黄免费 | 成人av免费在线观看 | 三级理论中文字幕在线播放 | 天天拍天天操 | 天天操夜夜嗨 | 国产精品最新 | 午夜电影合集 | 欧美极品在线观看 | 婷婷综合网站 | 蜜臀AV国产精品久久久久 | 欧美激情在线观看一区二区三区 | 亚洲影视在线观看 | 天天插天天射天天干 | 污污的网站免费观看 | 久久精品国产一区 | 日韩精品福利视频一区二区三区 | 免费黄色在线 | 日本黄色小视频在线观看 | 亚洲欧美视频一区 | 欧美高清视频一区 | 久草com| 欧美激情视频网站 |