類即類別、種類,是面向?qū)ο?/strong>設(shè)計(jì)最重要的概念,從一小節(jié)我們得知對(duì)象是特征與技能的結(jié)合體,而類則是一系列對(duì)象相似的特征與技能的結(jié)合體。
那么問題來了,先有的一個(gè)個(gè)具體存在的對(duì)象(比如一個(gè)具體存在的人),還是先有的人類這個(gè)概念,這個(gè)問題需要分兩種情況去看
在現(xiàn)實(shí)世界中:肯定是先有對(duì)象,再有類
世界上肯定是先出現(xiàn)各種各樣的實(shí)際存在的物體,然后隨著人類文明的發(fā)展,
人類站在不同的角度總結(jié)出了不同的種類,比如人類、動(dòng)物類、植物類等概念。
也就說,對(duì)象是具體的存在,而類僅僅只是一個(gè)概念,并不真實(shí)存在,
比如你無法告訴我人類具體指的是哪一個(gè)人。
在程序中:務(wù)必保證先定義類,后產(chǎn)生對(duì)象
這與函數(shù)的使用是類似的:先定義函數(shù),后調(diào)用函數(shù),類也是一樣的:
在程序中需要先定義類,后調(diào)用類。不一樣的是:調(diào)用函數(shù)會(huì)執(zhí)行函數(shù)體代碼
返回的是函數(shù)體執(zhí)行的結(jié)果,而調(diào)用類會(huì)產(chǎn)生對(duì)象,返回的是對(duì)象
類的定義
我們來定義一個(gè)類(我們站在學(xué)校的角度去看,在座的各位都是學(xué)生)
在現(xiàn)實(shí)社會(huì)中,先有對(duì)象,再有類
在程序中,務(wù)必保證:先定義(類),后使用類(用來產(chǎn)生對(duì)象)
注意:
類中可以有任意python代碼,這些代碼在類定義階段便會(huì)執(zhí)行,因而會(huì)產(chǎn)生新的名稱空間,用來存放類的變量名與函數(shù)名,可以通過OldboyStudent.__dict__查看
類中定義的名字,都是類的屬性,點(diǎn)是訪問屬性的語法。
對(duì)于經(jīng)典類來說我們可以通過該字典操作類名稱空間的名字,但新式類有限制
總結(jié):
1,站的角度不同,定義出來的類是截然不同的
2,現(xiàn)實(shí)中的類并不完全等于程序中的類,比如現(xiàn)實(shí)中的公司類,在程序中有時(shí)需要拆分成部門類,業(yè)務(wù)類。
3,有時(shí)候?yàn)榱司幊绦枨?,程序中也有可能?huì)定義現(xiàn)實(shí)中不存在的類,比如策略類,現(xiàn)實(shí)中并不存在,但是在程序中確實(shí)一個(gè)很常見的類。
以上內(nèi)容為大家介紹了Python之什么是類,什么是對(duì)象?,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。