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

Python中的is和==比較兩個(gè)對(duì)象的兩種方法

 更新時(shí)間:2017年09月06日 09:41:12   投稿:lqh  
這篇文章主要介紹了Python中的is和==比較兩個(gè)對(duì)象的兩種方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下

Python中的is和==比較兩個(gè)對(duì)象的兩種方法

在Python中有兩種方式比較兩個(gè)對(duì)象是否相等,分別是is和==,兩者之間是不同的

  • ==比較的是值(如同java中的equals方法)
  • is比較的是引用(可以看作比較內(nèi)存地址, 類似于java中的==)

對(duì)于:

>>> n = 1
>>> n is 1
True
>>> b = '1'
>>> b is 1
False
>>> n == b
False

由于1和'1'不管在值上面還是在引用上面都不同,所以結(jié)果都為false

對(duì)于:

>>> n = 1
>>> n is 1
True

這里有一個(gè)知識(shí)點(diǎn),簡單來說,對(duì)于整形這種primitive type,引用比較就是值比較,然而,Python在實(shí)現(xiàn)整型中采用了這種方式,對(duì)于位于-5到256之間的數(shù)字,在內(nèi)存中保留數(shù)組存儲(chǔ)這些數(shù)字,下次使用時(shí)候直接引用。而在此范圍外的數(shù)字,則會(huì)新建int對(duì)象

舉個(gè)簡單的example,如下代碼所示:

#a和b的值超出256
>>> a = 257
>>> b = 257
>>> a is b
False

#a和b的值在-5和256之間
>>> a = 256
>>> b = 256
>>> a is b
True

如上例子所示,只要是在-5~256之間的整形,python不會(huì)給變量初始化新的內(nèi)存空間,但是一旦超出256,則會(huì)分配新的空間。

通過打印兩個(gè)對(duì)象的id也可以直接的看出兩個(gè)對(duì)象內(nèi)存地址的區(qū)別,如下所示:

#a和b的值超出256
>>> a = 257
>>> b = 257
>>>
>>>
>>> id(a)
140638347685960
>>> id(b)
140638347686008

#a和b的值在-5和256之間
>>> a = 256
>>> b = 256
>>> id(a)
140638347656864
>>> id(b)
140638347656864

以上就是Python is和==的對(duì)比的詳解,如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Python count函數(shù)使用方法實(shí)例解析

    Python count函數(shù)使用方法實(shí)例解析

    這篇文章主要介紹了Python count函數(shù)使用方法實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python xlrd excel文件操作代碼實(shí)例

    Python xlrd excel文件操作代碼實(shí)例

    這篇文章主要介紹了Python xlrd excel文件操作代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python實(shí)現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作示例

    Python實(shí)現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作示例

    這篇文章主要介紹了Python實(shí)現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作,包括基于Python實(shí)現(xiàn)棧的定義、入棧、出棧、判斷??栈驐M等情況,需要的朋友可以參考下
    2017-12-12
  • 使用Python和PaddleOCR實(shí)現(xiàn)圖文識(shí)別的代碼和步驟

    使用Python和PaddleOCR實(shí)現(xiàn)圖文識(shí)別的代碼和步驟

    在當(dāng)今數(shù)字化時(shí)代,圖文識(shí)別技術(shù)的應(yīng)用越來越廣泛,如文檔數(shù)字化、信息提取等,PaddleOCR 是百度開源的一款強(qiáng)大的 OCR 工具包,它集成了多種先進(jìn)的算法和模型,本文將詳細(xì)介紹如何使用 PaddleOCR 和 Python 實(shí)現(xiàn)圖文識(shí)別,需要的朋友可以參考下
    2025-05-05
  • python實(shí)現(xiàn)定時(shí)同步本機(jī)與北京時(shí)間的方法

    python實(shí)現(xiàn)定時(shí)同步本機(jī)與北京時(shí)間的方法

    這篇文章主要介紹了python實(shí)現(xiàn)定時(shí)同步本機(jī)與北京時(shí)間的方法,涉及Python針對(duì)時(shí)間的操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • Python中線程編程之threading模塊的使用詳解

    Python中線程編程之threading模塊的使用詳解

    這篇文章主要介紹了Python中線程編程之threading模塊的使用詳解,由于GIL的存在,線程一直是Python編程中的焦點(diǎn)問題,需要的朋友可以參考下
    2015-06-06
  • 修復(fù)Python縮進(jìn)錯(cuò)誤的方法實(shí)現(xiàn)

    修復(fù)Python縮進(jìn)錯(cuò)誤的方法實(shí)現(xiàn)

    在Python中,縮進(jìn)是非常重要的,因?yàn)樗鼪Q定了代碼塊的層次結(jié)構(gòu),本文主要介紹了修復(fù)Python縮進(jìn)錯(cuò)誤的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • Python基于matplotlib實(shí)現(xiàn)繪制三維圖形功能示例

    Python基于matplotlib實(shí)現(xiàn)繪制三維圖形功能示例

    這篇文章主要介紹了Python基于matplotlib實(shí)現(xiàn)繪制三維圖形功能,涉及Python使用matplotlib模塊進(jìn)行三維圖形繪制相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • 梳理總結(jié)Python開發(fā)中需要摒棄的18個(gè)壞習(xí)慣

    梳理總結(jié)Python開發(fā)中需要摒棄的18個(gè)壞習(xí)慣

    大家好,今天給大家分享 18 個(gè) Python 初學(xué)者常有的壞習(xí)慣,這些壞習(xí)慣不僅影響 Python 代碼的可讀性,而且 影響 Python 的運(yùn)行性能,摒棄這些壞習(xí)慣并以 Pythonic 的方式編寫代碼,提高的不僅僅是你的代碼質(zhì)量,也給閱讀代碼的人留下好印象
    2022-01-01
  • Python?提取出SQL語句中Where的值兩種方法(示例代碼)

    Python?提取出SQL語句中Where的值兩種方法(示例代碼)

    為了提取SQL語句中WHERE子句的值,我們可以利用Python的sqlparse庫,這是一個(gè)專門用于解析SQL語句的庫,這篇文章主要介紹了Python?提取出SQL語句中Where的值的方法,需要的朋友可以參考下
    2024-08-08

最新評(píng)論