bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Python面向對象封裝的示例分析-創新互聯

這篇文章將為大家詳細講解有關Python面向對象封裝的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創新互聯是一家專注于成都做網站、成都網站建設與策劃設計,平輿網站建設哪家好?創新互聯做網站,專注于網站建設10多年,網設計領域的專業建站公司;建站業務涵蓋:平輿等地區。平輿做網站價格咨詢:18980820575

封裝

封裝 是面向對象編程的一大特點
面向對象編程的 第一步 —— 將 屬性 和 方法 封裝 到一個抽象的 類 中
外界 使用 類 創建 對象,然后 讓對象調用方法
對象方法的細節 都被 封裝 在 類的內部
一個對象的 屬性 可以是 另外一個類創建的對象

01. 士兵突擊

需求

士兵 許三多 有一把 AK47
士兵 可以 開火
槍 能夠 發射 子彈
槍 裝填 裝填子彈 —— 增加子彈數量
Python面向對象封裝的示例分析

1.1 開發槍類

shoot 方法需求

1> 判斷是否有子彈,沒有子彈無法射擊
2> 使用 print 提示射擊,并且輸出子彈數量

class Gun:

  def __init__(self, model):

    # 槍的型號
    self.model = model
    # 子彈數量
    self.bullet_count = 0

  def add_bullet(self, count):

    self.bullet_count += count

  def shoot(self):

    # 判斷是否還有子彈
    if self.bullet_count <= 0:
      print("沒有子彈了...")

      return

    # 發射一顆子彈
    self.bullet_count -= 1
    
    print("%s 發射子彈[%d]..." % (self.model, self.bullet_count))

# 創建槍對象
ak47 = Gun("ak47")
ak47.add_bullet(50)
ak47.shoot()

1.2 開發士兵類

假設:每一個新兵 都 沒有槍

定義沒有初始值的屬性

在定義屬性時,如果 不知道設置什么初始值,可以設置為 None

None 關鍵字 表示 什么都沒有
表示一個 空對象,沒有方法和屬性,是一個特殊的常量
可以將 None 賦值給任何一個變量
fire 方法需求

1> 判斷是否有槍,沒有槍沒法沖鋒
2> 喊一聲口號
3> 裝填子彈
4> 射擊

class Soldier:

  def __init__(self, name):

    # 姓名
    self.name = name
    # 槍,士兵初始沒有槍 None 關鍵字表示什么都沒有
    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. 讓槍發射子彈
    self.gun.shoot()

小結

創建了一個 士兵類,使用到 init 內置方法
在定義屬性時,如果 不知道設置什么初始值,可以設置為 None
在 封裝的 方法內部,還可以讓 自己的 使用其他類創建的對象屬性 調用已經 封裝好的方法

02. 身份運算符

身份運算符用于 比較 兩個對象的 內存地址 是否一致 —— 是否是對同一個對象的引用

在 Python 中針對 None 比較時,建議使用 is 判斷
Python面向對象封裝的示例分析
is 與 == 區別:
is 用于判斷 兩個變量 引用對象是否為同一個
== 用于判斷 引用變量的值 是否相等

>>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> b is a 
False
>>> b == a
True

關于“Python面向對象封裝的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

名稱欄目:Python面向對象封裝的示例分析-創新互聯
網站鏈接:http://vcdvsql.cn/article36/jjcpg.html

成都網站建設公司_創新互聯,為您提供微信小程序、網站營銷、外貿網站建設、營銷型網站建設、服務器托管、網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化