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

Python身份運算符is與is?not區(qū)別用法基礎教程

 更新時間:2023年06月08日 14:18:57   作者:村長  
這篇文章主要為大家介紹了Python身份運算符is與is?not區(qū)別用法基礎教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

python中兩個身份運算符

在python中有兩個身份運算符,一個是is另外一個是is not。

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

在python中針對None比較時,建議使用is判斷。

一、Is 與 == 的區(qū)別

is 用于判斷兩個變量引用對象是否為同一個。

== 用于判斷引用變量的值是否相等。

代碼驗證:

a = [1, 2, 3]
print(id(a))  # 變量a地址
b = [1, 2, 3, 4]
print(id(b))  # 變量b地址
a.append(4)
print(a)
print(a is b)
print(a == b)

執(zhí)行結果:

二、修改士兵突擊面向對象封裝案例

在之前的面向對象封裝士兵突擊案例中就用到了None這個關鍵字,當時是利用==來進行判斷的,但是按照編碼規(guī)范建議應該使用is來進行判斷,所以在這里稍微的修改一下代碼。

下面是之前的士兵突擊案例修改is之前的完整代碼:在修改之前代碼執(zhí)行并沒有錯誤。

class Gun():
    def __init__(self, model):
        # 1. qiang的型號
        self.model = model
        # 2. 子彈的數(shù)量,初始值為0
        self.bullet_count = 0
    def add_bullet(self, count):
        self.bullet_count += count
    def shoot(self):
        # 1. 判斷子彈數(shù)量
        if self.bullet_count <= 0:
            print("[%s] 沒有子彈了" % self.model)
            return
        # 2. 發(fā)射子彈, -1
        self.bullet_count -= 1
        # 提示發(fā)射信息
        print("[%s] 突突突。。。[%d]" % (self.model, self.bullet_count))
class Soldier():
    def __init__(self, name):
        # 1. 姓名
        self.name = name
        # 2. qiang = 新兵沒有槍
        self.gun = None
    def fire(self):
        # 1. 判斷是否有槍
        if self.gun == None:
            print("[%s]還沒有qiang" % self.name)
            return
        # 2. 高喊沖鋒口號
        print("沖啊。。。 [%s]" % self.name)
        # 3. 裝填子彈
        self.gun.add_bullet(50)
        # 4. 發(fā)射子彈射擊
        self.gun.shoot()
# 1. 創(chuàng)建qiang對象
ak47 = Gun("Ak47")
# 2. 調用方法
# ak47.add_bullet(50)
# ak47.shoot()
# 3. 創(chuàng)建士兵對象-張小嘎
zhang = Soldier("張小嘎")
# 用賦值語句,把ak47交給張小嘎
zhang.gun = ak47
zhang.fire()
# print(zhang.gun)

在修改之前可以看出PyCharm給這行代碼標注了虛線,那么在修改之后虛線就沒了。
下面就對于這部分代碼進行修改:

修改之后和修改之前執(zhí)行的結果都是一樣的。如下圖:

備注:如果想詳細了解這個士兵突擊的面向對象化封裝案例,可以看我之前的一篇文章。

文章地址為:http://chabaoo.cn/python/2878257th.htm

以上就是Python身份運算符is與is not區(qū)別用法基礎教程的詳細內容,更多關于Python身份運算符的資料請關注腳本之家其它相關文章!

相關文章

  • python的sorted用法詳解

    python的sorted用法詳解

    在本篇文章里小編給大家整理了關于python的sorted用法以及相關實例內容,有需要的朋友們參考學習下。
    2019-06-06
  • 深入解析Python中的多進程

    深入解析Python中的多進程

    這篇文章主要介紹了深入解析Python中的多進程,“Python中的多進程是通過multiprocessing包來實現(xiàn)的,和多線程的threading.Thread差不多,它可以利用multiprocessing.Process對象來創(chuàng)建一個進程對象
    2022-06-06
  • Python編寫nmap掃描工具

    Python編寫nmap掃描工具

    NMAP是一款開源的網(wǎng)絡探測和安全審核的工具,今天我們用python的模擬實現(xiàn)一個簡單版本的端口掃描工具,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 使用fdopen實現(xiàn)對Python進程產(chǎn)生的文件進行權限最小化配置

    使用fdopen實現(xiàn)對Python進程產(chǎn)生的文件進行權限最小化配置

    用python進行文件的創(chuàng)建和讀寫操作時,我們很少關注所創(chuàng)建的文件的權限配置。本文就來聊聊如何使用fdopen實現(xiàn)對Python進程產(chǎn)生的文件進行權限最小化配置吧
    2023-03-03
  • Python實現(xiàn)將一個大文件按段落分隔為多個小文件的簡單操作方法

    Python實現(xiàn)將一個大文件按段落分隔為多個小文件的簡單操作方法

    這篇文章主要介紹了Python實現(xiàn)將一個大文件按段落分隔為多個小文件的簡單操作方法,涉及Python針對文件的讀取、遍歷、轉換、寫入等相關操作技巧,需要的朋友可以參考下
    2017-04-04
  • python基礎學習之組織文件

    python基礎學習之組織文件

    今天帶大家復習python基礎知識,此文章將要介紹如何組織文件,既拷貝,移動等,文中有非常詳細的代碼示例,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • python讀取配置文件方式(ini、yaml、xml)

    python讀取配置文件方式(ini、yaml、xml)

    這篇文章主要介紹了python讀取配置文件方式(ini、yaml、xml),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 一篇文章帶你了解python標準庫--datetime模塊

    一篇文章帶你了解python標準庫--datetime模塊

    這篇文章主要為大家介紹了python中的datetime模塊,datetime模塊的接口則更直觀、更容易調用,想要了解datetime模塊的朋友可以參考一下
    2021-08-08
  • 關于Numpy中數(shù)組維度的理解

    關于Numpy中數(shù)組維度的理解

    這篇文章主要介紹了關于Numpy中數(shù)組維度的理解,多維Numpy數(shù)組也可以叫張量(tensor),當前所有機器學習系統(tǒng)都是使用張量作為基本數(shù)據(jù)結構,張量是一個數(shù)據(jù)容器,它包含的數(shù)據(jù)幾乎是數(shù)值數(shù)據(jù),因此它也是數(shù)字的容器,需要的朋友可以參考下
    2023-09-09
  • python中如何使用xml.dom.minidom模塊讀取解析xml文件

    python中如何使用xml.dom.minidom模塊讀取解析xml文件

    xml.dom.minidom模塊應該是內置模塊不用下載安裝,本文給大家介紹python中如何使用xml.dom.minidom模塊讀取解析xml文件,感興趣的朋友一起看看吧
    2023-10-10

最新評論