這篇文章將為大家詳細(xì)講解有關(guān)Python面向?qū)ο蠓庋b的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
封裝 是面向?qū)ο缶幊痰囊淮筇攸c(diǎn)
面向?qū)ο缶幊痰?第一步 —— 將 屬性 和 方法 封裝 到一個抽象的 類 中
外界 使用 類 創(chuàng)建 對象,然后 讓對象調(diào)用方法
對象方法的細(xì)節(jié) 都被 封裝 在 類的內(nèi)部
一個對象的 屬性 可以是 另外一個類創(chuàng)建的對象
需求
士兵 許三多 有一把 AK47
士兵 可以 開火
槍 能夠 發(fā)射 子彈
槍 裝填 裝填子彈 —— 增加子彈數(shù)量
shoot 方法需求
1> 判斷是否有子彈,沒有子彈無法射擊
2> 使用 print 提示射擊,并且輸出子彈數(shù)量
class Gun: def __init__(self, model): # 槍的型號 self.model = model # 子彈數(shù)量 self.bullet_count = 0 def add_bullet(self, count): self.bullet_count += count def shoot(self): # 判斷是否還有子彈 if self.bullet_count <= 0: print("沒有子彈了...") return # 發(fā)射一顆子彈 self.bullet_count -= 1 print("%s 發(fā)射子彈[%d]..." % (self.model, self.bullet_count)) # 創(chuàng)建槍對象 ak47 = Gun("ak47") ak47.add_bullet(50) ak47.shoot()
假設(shè):每一個新兵 都 沒有槍
定義沒有初始值的屬性
在定義屬性時,如果 不知道設(shè)置什么初始值,可以設(shè)置為 None
None 關(guān)鍵字 表示 什么都沒有
表示一個 空對象,沒有方法和屬性,是一個特殊的常量
可以將 None 賦值給任何一個變量
fire 方法需求
1> 判斷是否有槍,沒有槍沒法沖鋒
2> 喊一聲口號
3> 裝填子彈
4> 射擊
class Soldier: def __init__(self, name): # 姓名 self.name = name # 槍,士兵初始沒有槍 None 關(guān)鍵字表示什么都沒有 self.gun = None def fire(self): # 1. 判斷士兵是否有槍 if self.gun is None: print("[%s] 還沒有槍..." % self.name) return # 2. 高喊口號 print("沖啊...[%s]" % self.name) # 3. 讓槍裝填子彈 self.gun.add_bullet(50) # 4. 讓槍發(fā)射子彈 self.gun.shoot()
小結(jié)
創(chuàng)建了一個 士兵類,使用到 init 內(nèi)置方法
在定義屬性時,如果 不知道設(shè)置什么初始值,可以設(shè)置為 None
在 封裝的 方法內(nèi)部,還可以讓 自己的 使用其他類創(chuàng)建的對象屬性 調(diào)用已經(jīng) 封裝好的方法
身份運(yùn)算符用于 比較 兩個對象的 內(nèi)存地址 是否一致 —— 是否是對同一個對象的引用
在 Python 中針對 None 比較時,建議使用 is 判斷
is 與 == 區(qū)別:
is 用于判斷 兩個變量 引用對象是否為同一個
== 用于判斷 引用變量的值 是否相等
>>> a = [1, 2, 3] >>> b = [1, 2, 3] >>> b is a False >>> b == a True
關(guān)于“Python面向?qū)ο蠓庋b的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
名稱欄目:Python面向?qū)ο蠓庋b的示例分析-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://chinadenli.net/article36/jjcpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站營銷、外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)