亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python面向?qū)ο蠓庋b操作案例詳解 II

 更新時(shí)間:2020年01月02日 10:55:42   作者:小飛俠v科比  
這篇文章主要介紹了Python面向?qū)ο蠓庋b操作,結(jié)合案例形式詳細(xì)分析了Python面向?qū)ο笤谟螒蛑蟹庋b角色的屬性、動(dòng)作相關(guān)原理與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Python面向?qū)ο蠓庋b操作。分享給大家供大家參考,具體如下:

目標(biāo)

士兵突擊案例
身份運(yùn)算符

封裝

封裝 是面向?qū)ο缶幊痰囊淮筇攸c(diǎn)
面向?qū)ο缶幊痰?第一步 —— 將 屬性 和 方法 封裝 到一個(gè)抽象的 類(lèi) 中
外界 使用 類(lèi) 創(chuàng)建 對(duì)象,然后 讓對(duì)象調(diào)用方法
對(duì)象方法的細(xì)節(jié) 都被 封裝 在 類(lèi)的內(nèi)部
一個(gè)對(duì)象的 屬性 可以是 另外一個(gè)類(lèi)創(chuàng)建的對(duì)象

01. 士兵突擊

需求

士兵 許三多 有一把 AK47
士兵 可以 開(kāi)火
槍 能夠 發(fā)射 子彈
槍 裝填 裝填子彈 —— 增加子彈數(shù)量
在這里插入圖片描述

1.1 開(kāi)發(fā)槍類(lèi)

shoot 方法需求

1> 判斷是否有子彈,沒(méi)有子彈無(wú)法射擊
2> 使用 print 提示射擊,并且輸出子彈數(shù)量

class Gun:

  def __init__(self, model):

    # 槍的型號(hào)
    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("沒(méi)有子彈了...")

      return

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

# 創(chuàng)建槍對(duì)象
ak47 = Gun("ak47")
ak47.add_bullet(50)
ak47.shoot()

1.2 開(kāi)發(fā)士兵類(lèi)

假設(shè):每一個(gè)新兵 都 沒(méi)有槍

定義沒(méi)有初始值的屬性

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

None 關(guān)鍵字 表示 什么都沒(méi)有
表示一個(gè) 空對(duì)象,沒(méi)有方法和屬性,是一個(gè)特殊的常量
可以將 None 賦值給任何一個(gè)變量
fire 方法需求

1> 判斷是否有槍?zhuān)瑳](méi)有槍沒(méi)法沖鋒
2> 喊一聲口號(hào)
3> 裝填子彈
4> 射擊

class Soldier:

  def __init__(self, name):

    # 姓名
    self.name = name
    # 槍?zhuān)勘跏紱](méi)有槍 None 關(guān)鍵字表示什么都沒(méi)有
    self.gun = None

  def fire(self):

    # 1. 判斷士兵是否有槍
    if self.gun is None:
      print("[%s] 還沒(méi)有槍..." % self.name)

      return

    # 2. 高喊口號(hào)
    print("沖啊...[%s]" % self.name)

    # 3. 讓槍裝填子彈
    self.gun.add_bullet(50)

    # 4. 讓槍發(fā)射子彈
    self.gun.shoot()

小結(jié)

創(chuàng)建了一個(gè) 士兵類(lèi),使用到 init 內(nèi)置方法
在定義屬性時(shí),如果 不知道設(shè)置什么初始值,可以設(shè)置為 None
在 封裝的 方法內(nèi)部,還可以讓 自己的 使用其他類(lèi)創(chuàng)建的對(duì)象屬性 調(diào)用已經(jīng) 封裝好的方法

02. 身份運(yùn)算符

身份運(yùn)算符用于 比較 兩個(gè)對(duì)象的 內(nèi)存地址 是否一致 —— 是否是對(duì)同一個(gè)對(duì)象的引用

在 Python 中針對(duì) None 比較時(shí),建議使用 is 判斷
在這里插入圖片描述
is 與 == 區(qū)別:
is 用于判斷 兩個(gè)變量 引用對(duì)象是否為同一個(gè)
== 用于判斷 引用變量的值 是否相等

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

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門(mén)與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python matplotlib實(shí)現(xiàn)坐標(biāo)投影的示例代碼

    python matplotlib實(shí)現(xiàn)坐標(biāo)投影的示例代碼

    這篇文章主要為大家詳細(xì)介紹了python matplotlib實(shí)現(xiàn)坐標(biāo)投影,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • Python?Flask?+?Redis?程序練習(xí)

    Python?Flask?+?Redis?程序練習(xí)

    這篇文章主要給大家分享Python?Flask?+?Redis?程序的練習(xí),準(zhǔn)備一個(gè)Python文件,名字為?app.py?提供一個(gè)web服務(wù),可以訪問(wèn)地址,返回一個(gè)Hello?Container?World!并且記錄訪問(wèn)的次數(shù),下面來(lái)看看有趣的練習(xí)過(guò)程吧
    2022-01-01
  • python中的map函數(shù)語(yǔ)法詳解

    python中的map函數(shù)語(yǔ)法詳解

    map是python內(nèi)置函數(shù),會(huì)根據(jù)提供的函數(shù)對(duì)指定的序列做映射,這篇文章主要介紹了python中的map函數(shù)語(yǔ)法詳解,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Python自動(dòng)化運(yùn)維_文件內(nèi)容差異對(duì)比分析

    Python自動(dòng)化運(yùn)維_文件內(nèi)容差異對(duì)比分析

    下面小編就為大家分享一篇Python自動(dòng)化運(yùn)維_文件內(nèi)容差異對(duì)比分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • python中正則表達(dá)式 re.findall 用法

    python中正則表達(dá)式 re.findall 用法

    在python中,通過(guò)內(nèi)嵌集成re模塊,程序媛們可以直接調(diào)用來(lái)實(shí)現(xiàn)正則匹配。本文重點(diǎn)給大家介紹python中正則表達(dá)式 re.findall 用法,感興趣的朋友跟隨小編一起看看吧
    2018-10-10
  • Python閉包之返回函數(shù)的函數(shù)用法示例

    Python閉包之返回函數(shù)的函數(shù)用法示例

    這篇文章主要介紹了 Python閉包之返回函數(shù)的函數(shù)用法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • python讀取文件名稱(chēng)生成list的方法

    python讀取文件名稱(chēng)生成list的方法

    下面小編就為大家分享一篇python讀取文件名稱(chēng)生成list的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python監(jiān)控進(jìn)程狀態(tài),記錄重啟時(shí)間及進(jìn)程號(hào)的實(shí)例

    python監(jiān)控進(jìn)程狀態(tài),記錄重啟時(shí)間及進(jìn)程號(hào)的實(shí)例

    今天小編就為大家分享一篇python監(jiān)控進(jìn)程狀態(tài),記錄重啟時(shí)間及進(jìn)程號(hào)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • TensorFlow的自動(dòng)求導(dǎo)原理分析

    TensorFlow的自動(dòng)求導(dǎo)原理分析

    這篇文章主要介紹了TensorFlow的自動(dòng)求導(dǎo)原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python可變參數(shù)函數(shù)用法實(shí)例

    Python可變參數(shù)函數(shù)用法實(shí)例

    這篇文章主要介紹了Python可變參數(shù)函數(shù)用法,實(shí)例分析了Python可變參數(shù)函數(shù)的定義與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07

最新評(píng)論