最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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è)抽象的 類 中
外界 使用 類 創(chuàng)建 對(duì)象,然后 讓對(duì)象調(diào)用方法
對(duì)象方法的細(xì)節(jié) 都被 封裝 在 類的內(nèi)部
一個(gè)對(duì)象的 屬性 可以是 另外一個(gè)類創(chuàng)建的對(duì)象

01. 士兵突擊

需求

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

1.1 開發(fā)槍類

shoot 方法需求

1> 判斷是否有子彈,沒有子彈無法射擊
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("沒有子彈了...")

      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 開發(fā)士兵類

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

定義沒有初始值的屬性

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

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

1> 判斷是否有槍,沒有槍沒法沖鋒
2> 喊一聲口號(hào)
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. 高喊口號(hào)
    print("沖啊...[%s]" % self.name)

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

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

小結(jié)

創(chuàng)建了一個(gè) 士兵類,使用到 init 內(nèi)置方法
在定義屬性時(shí),如果 不知道設(shè)置什么初始值,可以設(shè)置為 None
在 封裝的 方法內(nè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)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程

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

相關(guān)文章

  • Python3.6連接MySQL的詳細(xì)步驟

    Python3.6連接MySQL的詳細(xì)步驟

    在現(xiàn)代Web開發(fā)和數(shù)據(jù)處理中,Python與數(shù)據(jù)庫(kù)的交互是必不可少的一部分,MySQL作為最流行的開源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,與Python的結(jié)合可以實(shí)現(xiàn)高效的數(shù)據(jù)存取操作,本文將介紹如何在Python 3.6環(huán)境中通過??pymysql??庫(kù)連接到MySQL數(shù)據(jù)庫(kù),需要的朋友可以參考下
    2025-04-04
  • python破解同事的壓縮包密碼

    python破解同事的壓縮包密碼

    這篇文章主要介紹了python如何破解壓縮包密碼,幫助大家更好的利用python處理文件,感興趣的朋友可以了解下
    2020-10-10
  • python制作定時(shí)發(fā)送信息腳本的實(shí)現(xiàn)思路

    python制作定時(shí)發(fā)送信息腳本的實(shí)現(xiàn)思路

    這篇文章主要介紹了python實(shí)現(xiàn)企業(yè)微信定時(shí)發(fā)送文本消息的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python實(shí)現(xiàn)給微信公眾號(hào)發(fā)送消息的方法

    python實(shí)現(xiàn)給微信公眾號(hào)發(fā)送消息的方法

    這篇文章主要介紹了python實(shí)現(xiàn)給微信公眾號(hào)發(fā)送消息的方法,結(jié)合實(shí)例形式分析了Python針對(duì)微信公眾號(hào)接口操作的相關(guān)技巧,需要的朋友可以參考下
    2017-06-06
  • Django def clean()函數(shù)對(duì)表單中的數(shù)據(jù)進(jìn)行驗(yàn)證操作

    Django def clean()函數(shù)對(duì)表單中的數(shù)據(jù)進(jìn)行驗(yàn)證操作

    這篇文章主要介紹了Django def clean()函數(shù)對(duì)表單中的數(shù)據(jù)進(jìn)行驗(yàn)證操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python協(xié)程的2種實(shí)現(xiàn)方式分享

    Python協(xié)程的2種實(shí)現(xiàn)方式分享

    在?Python?中,協(xié)程(Coroutine)是一種輕量級(jí)的并發(fā)編程方式,可以通過協(xié)作式多任務(wù)來實(shí)現(xiàn)高效的并發(fā)執(zhí)行。本文主要介紹了Python實(shí)現(xiàn)協(xié)程的2種方式,希望對(duì)大家有所幫助
    2023-04-04
  • Python如何批量獲取文件夾的大小并保存

    Python如何批量獲取文件夾的大小并保存

    這篇文章主要介紹了Python如何批量獲取文件夾的大小并保存,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Flask框架的學(xué)習(xí)指南之用戶登錄管理

    Flask框架的學(xué)習(xí)指南之用戶登錄管理

    本文是Flask框架的學(xué)習(xí)指南系列文章的第三篇,主要給大家講述的是制作flask的登陸管理模塊,有需要的小伙伴可以參考下
    2016-11-11
  • Python按鍵或值對(duì)字典進(jìn)行排序

    Python按鍵或值對(duì)字典進(jìn)行排序

    這篇文章主要為大家介紹了Python對(duì)字典進(jìn)行排序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 如何利用python給圖片添加半透明水印

    如何利用python給圖片添加半透明水印

    這篇文章主要給大家介紹了關(guān)于如何利用python給圖片添加半透明水印的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評(píng)論

南川市| 通河县| 哈尔滨市| 龙江县| 和顺县| 荥经县| 桂东县| 湘潭市| 黄龙县| 延津县| 开江县| 思南县| 武安市| 英德市| 黔南| 台北市| 随州市| 礼泉县| 个旧市| 巴楚县| 前郭尔| 平罗县| 灌南县| 大港区| 陵川县| 华池县| 板桥市| 双江| 乌苏市| 灵川县| 焦作市| 浑源县| 安岳县| 梅河口市| 呼和浩特市| 河南省| 海安县| 新和县| 随州市| 安顺市| 长岭县|