亚洲视频精品_木耳av在线_成年人免费看_久久精品香蕉_激情国产精品_亚洲第一se情网站

您現(xiàn)在所在的位置:首頁(yè) >學(xué)習(xí)資源 > Python全棧+人工智能入門(mén)教材 > Python基礎(chǔ)入門(mén)教程27:企業(yè)級(jí)開(kāi)發(fā)基礎(chǔ) 面向?qū)ο髷U(kuò)展

Python基礎(chǔ)入門(mén)教程27:企業(yè)級(jí)開(kāi)發(fā)基礎(chǔ) 面向?qū)ο髷U(kuò)展

來(lái)源:奇酷教育 發(fā)表于:

前面的章節(jié)中,我們已經(jīng)學(xué)習(xí)過(guò)面向?qū)ο蟮幕静僮鳌⒚嫦驅(qū)ο蟮娜筇卣鞯脑敿?xì)操作,對(duì)于面向?qū)ο笥辛艘粋€(gè)初步的了解和認(rèn)知。本節(jié)內(nèi)容會(huì)針對(duì)

前面的章節(jié)中,我們已經(jīng)學(xué)習(xí)過(guò)面向?qū)ο蟮幕静僮鳌⒚嫦驅(qū)ο蟮娜筇卣鞯脑敿?xì)操作,對(duì)于面向?qū)ο笥辛艘粋€(gè)初步的了解和認(rèn)知。
本節(jié)內(nèi)容會(huì)針對(duì)面向?qū)ο蟮某绦蛟O(shè)計(jì)進(jìn)行一部分的擴(kuò)展和補(bǔ)充,方便我們?cè)陧?xiàng)目開(kāi)發(fā)過(guò)程中的操作能更加的全面和完善。
 
0. 本節(jié)內(nèi)容
 
0.1 類(lèi)型屬性和對(duì)象成員屬性
 
0.2 對(duì)象屬性的外部聲明和限制
 
0.3 多繼承機(jī)制下的注意的問(wèn)題
 
0.4 類(lèi)的定制屬性~魔法方法
 
0.5 特殊的類(lèi)型:枚舉
 
1. 類(lèi)型屬性和對(duì)象的成員屬性
 
在之前的章節(jié)中,我們就類(lèi)和對(duì)象已經(jīng)學(xué)習(xí)過(guò)了如下內(nèi)容
 
類(lèi)型的定義
類(lèi)型中屬性的定義
類(lèi)型中方法的定義
屬性和方法的私有化操作
當(dāng)類(lèi)型在處理的過(guò)程中,我們知道在init()函數(shù)中可以初始化類(lèi)的成員屬性/變量,在創(chuàng)建對(duì)象的過(guò)程中,每個(gè)對(duì)象的成員屬性都是互相獨(dú)立且互不影響的;對(duì)象A是不能直接使用對(duì)象B的成員屬性的值的,而是要通過(guò)對(duì)象B調(diào)用獲取對(duì)象B的屬性;
python的類(lèi)型中,還提供了一種方式,可以直接定義類(lèi)的屬性,這樣定義的屬性是當(dāng)前類(lèi)型創(chuàng)建的所有對(duì)象所共享的,也可以直接通過(guò)類(lèi)名稱(chēng)調(diào)用,這樣的屬性稱(chēng)為:類(lèi)屬性
 
類(lèi)屬性:是定義在類(lèi)型中的公開(kāi)的屬性,可以讓通過(guò)當(dāng)前類(lèi)型直接操作,可以是當(dāng)前類(lèi)型創(chuàng)建的所有對(duì)象共享的數(shù)據(jù)


2. 對(duì)象屬性的外部聲明和限制
 
上面的代碼中,我們使用p1.onlineCount=15發(fā)現(xiàn)沒(méi)有修改類(lèi)屬性,而是給p1增加了一個(gè)成員屬性,這是怎么回事呢?
 
觀察下面的代碼:

在上述代碼中,我們定義了一個(gè)空類(lèi)型Person,在創(chuàng)建了Person的對(duì)象之后,可以在對(duì)象的引用變量上,給對(duì)象添加額外的成員屬性【切記,這里添加的額外的成員屬性?xún)H限于當(dāng)前的這個(gè)對(duì)象,其他對(duì)象上不會(huì)出現(xiàn)】
 
這樣的操作方式,可以在一定程度上讓代碼的操作更加靈活,但是同時(shí)也降低了代碼的可讀性,試想一下~我們辛辛苦苦抽象定義好了類(lèi)型Person,Person中已經(jīng)出現(xiàn)了我們所有人知道的屬性,結(jié)果在操作的過(guò)程中,朝陽(yáng)群眾A創(chuàng)建的Person對(duì)象多出來(lái)了2個(gè)其他人不知道的屬性,朝陽(yáng)群眾B創(chuàng)建的Person對(duì)象又多出來(lái)了其他人不知道的3個(gè)屬性,這是一件非常恐怖的事情,會(huì)讓整個(gè)類(lèi)型和對(duì)象的操作變得非常的混亂。

觀察上述代碼,兩個(gè)人創(chuàng)建的對(duì)象,一團(tuán)混亂,光是一個(gè)性別兩個(gè)開(kāi)發(fā)人員定義的擴(kuò)展出來(lái)的成員變量都不一致,后續(xù)其他人在操作的時(shí)候都不知道應(yīng)該調(diào)用什么屬性來(lái)處理了。
 
python為了處理這樣的問(wèn)題,提供了一個(gè)特殊的類(lèi)屬性__slots__ ,該屬性的值是一個(gè)元組,元組中定義了類(lèi)中可以出現(xiàn)的所有成員屬性的名稱(chēng)


3. 多繼承機(jī)制下的注意的問(wèn)題
 
多繼承機(jī)制,在操作的過(guò)程中,同樣也是提高了代碼的處理靈活性,很大程度的擴(kuò)展了代碼的功能
 
在使用多繼承機(jī)制進(jìn)行程序設(shè)計(jì)開(kāi)發(fā)的過(guò)程中一定要注意一個(gè)問(wèn)題:當(dāng)前類(lèi)繼承了一個(gè)或者多個(gè)父類(lèi),當(dāng)前類(lèi)就同時(shí)繼承了父類(lèi)中的公開(kāi)的屬性和函數(shù),如果不同的父類(lèi)中出現(xiàn)相同的屬性/函數(shù),就需要明確執(zhí)行的過(guò)程

4. 類(lèi)的定制屬性~魔法方法
 
上面的代碼中,我們已經(jīng)看到了,類(lèi)似__slots__這樣的變量在前后加了雙下劃線的,在python中會(huì)有特殊的含義,這里會(huì)繼續(xù)介紹一些常見(jiàn)的在面向?qū)ο箝_(kāi)發(fā)過(guò)程中出現(xiàn)的一些這樣的魔法方法
 
4.1. 對(duì)象格式化打印輸出【__str__()】
 
常規(guī)情況下,對(duì)象直接輸出,會(huì)輸出對(duì)象的描述信息,晦澀難懂

我們突然發(fā)現(xiàn),直接打印對(duì)象,輸出的結(jié)果竟然是我們?cè)赺_str__()方法中定義的字符串。其實(shí)我們?cè)谑褂檬褂脤?duì)象的時(shí)候,就會(huì)默認(rèn)調(diào)用對(duì)象的__str__()方法獲取對(duì)象的字符串描述信息,這個(gè)__str__()方法是從object對(duì)象繼承而來(lái)的,我們這里只是對(duì)它進(jìn)行了方法重寫(xiě)。
 
另外,在命令行操作過(guò)程中,如果不用print()方法打印而是直接輸入對(duì)象,會(huì)發(fā)現(xiàn)執(zhí)行的結(jié)果又是讓人晦澀難懂的東西了,在命令行直接使用對(duì)象調(diào)用的不是對(duì)象的__str__()方法,而是__repr__()方法,只需要簡(jiǎn)單的修改即可

肯定是不能這么干的~,所以出現(xiàn)錯(cuò)誤:Person對(duì)象不是一個(gè)可執(zhí)行的東東
 
但是可以進(jìn)行如下的改造

5. 特殊的類(lèi)型:枚舉
 
某些情況下,在我們項(xiàng)目開(kāi)發(fā)過(guò)程中,會(huì)針對(duì)一些不會(huì)改變的數(shù)據(jù)進(jìn)行標(biāo)記,~常見(jiàn)的做法就是通過(guò)定義常量的情況進(jìn)行處理,如:在一個(gè)員工管理系統(tǒng)中,針對(duì)一年十二個(gè)月發(fā)放工資,這里的十二個(gè)月需要進(jìn)行標(biāo)記~每個(gè)月的天數(shù)、績(jī)效這些都不一定一致,可以按照下面的方式進(jìn)行處理:
5.1. 使用枚舉
 
上述代碼中,我們通過(guò)三種方式進(jìn)行了枚舉的定義和處理,但是每一種方式都多多少少存在一些遺憾,python中提供了一種特殊的類(lèi)型:枚舉,來(lái)處理這樣定義常量的問(wèn)題:
 
枚舉的語(yǔ)法結(jié)構(gòu):是不是和上面我們使用元組的方式特別相像呢?!

5.2. 自定義枚舉
 
Python提供的枚舉已經(jīng)完全足夠適用于我們項(xiàng)目中使用的各種場(chǎng)景了
如果枚舉的細(xì)節(jié)處理程度還是不滿足您的項(xiàng)目,可以通過(guò)python提供的方式進(jìn)行自定義枚舉的定義


>>>更多VR/AR入門(mén)教程:VR入門(mén)

主站蜘蛛池模板: 久久久久国产精品嫩草影院 | 精品国偷自产在线 | 亚洲私密视频 | 国产看色免费 | 成人在线免费看片 | 成人福利视频在线观看视频 | 国产成人在线免费观看 | 国内精品久久久久影院6 | 午夜免费视频 | 91九色视频无限观看免费 | 99视频在线精品免费观看18 | 精品久久久久成人码免费动漫 | 免费国产黄网站在线观看视频 | 久久国产精品偷 | 久久精品国产亚洲精品 | 黑色丝袜美女自安慰视频 | 久9视频这里只有精品 | 福利视频一二区 | 牛人国产偷窥女洗浴在线观看 | 亚洲一区欧美日韩 | 亚洲人精品午夜射精日韩 | 日本视频在线观看不卡高清免费 | 午夜性刺激免费看视频 | 伊人情人综合网 | 成人无码一区二区三区 | 日本护士毛茸茸 | 成人精品一级毛片 | 日本理伦片和搜子同居的日子 | 亚洲wwwwww| 精品福利一区二区免费视频 | 亚洲视频色图 | 成人国内精品久久久久一区 | 人妻人人做人做人人爱 | 欧美一区二区在线 | 久久香蕉综合精品国产 | 中文在线最新版天堂 | 黄视频网址 | 无码精品人妻一区二区三区人妻斩 | 精品国产偷窥一区二区 | 熟妇的味道hd中文字幕 | 91久久精品日日躁夜夜躁欧美 |