欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中三個(gè)不可思議的返回功能分享

 更新時(shí)間:2022年01月10日 15:06:11   作者:天天開心學(xué)編程  
這篇文章主要給大家介紹了Python中三個(gè)不可思議的返回功能,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

第一個(gè):神奇的字典鍵

some_dict = {}
some_dict[5.5] = "Ruby"
some_dict[5.0] = "JavaScript"
some_dict[5] = "Python"

Output:

>>> some_dict[5.5]
"Ruby"
>>> some_dict[5.0]
"Python"
>>> some_dict[5]
"Python"

"Python" 消除了 "JavaScript" 的存在?

?? 說明:

  • Python 字典通過檢查鍵值是否相等和比較哈希值來確定兩個(gè)鍵是否相同.
  • 具有相同值的不可變對(duì)象在Python中始終具有相同的哈希值.

注意: 具有不同值的對(duì)象也可能具有相同的哈希值(哈希沖突).

>>> 5 == 5.0
True
>>> hash(5) == hash(5.0)
True

當(dāng)執(zhí)行 some_dict[5] = "Python"語句時(shí), 因?yàn)镻ython將5和5.0識(shí)別為some_dict的同一個(gè)鍵, 所以已有值 "JavaScript" 就被 "Python" 覆蓋了

第二個(gè):異常處理中的return

def some_func:
try:
return 'from_try'
finally:
return 'from_finally'

Output:

>>> some_func
'from_finally'

?? 說明:

  • 當(dāng)在 "try…finally" 語句的 try中執(zhí)行return,break或continue后,finally子句依然會(huì)執(zhí)行.
  • 函數(shù)的返回值由最后執(zhí)行的 return語句決定. 由于finally子句一定會(huì)執(zhí)行, 所以finally子句中的return將始終是最后執(zhí)行的語句.

第三個(gè):相同對(duì)象的判斷

class WTF:
pass

Output:

>>> WTF == WTF # 兩個(gè)不同的對(duì)象應(yīng)該不相等
False
>>> WTF is WTF # 也不相同
False
>>> hash(WTF) == hash(WTF) # 哈希值也應(yīng)該不同
True
>>> id(WTF) == id(WTF)
True

?? 說明:

當(dāng)調(diào)用 id函數(shù)時(shí), Python 創(chuàng)建了一個(gè)WTF類的對(duì)象并傳給id函數(shù). 然后id函數(shù)獲取其id值 (也就是內(nèi)存地址), 然后丟棄該對(duì)象. 該對(duì)象就被銷毀了.

當(dāng)我們連續(xù)兩次進(jìn)行這個(gè)操作時(shí), Python會(huì)將相同的內(nèi)存地址分配給第二個(gè)對(duì)象. 因?yàn)?(在CPython中) id函數(shù)使用對(duì)象的內(nèi)存地址作為對(duì)象的id值, 所以兩個(gè)對(duì)象的id值是相同的.

綜上, 對(duì)象的id值僅僅在對(duì)象的生命周期內(nèi)唯一. 在對(duì)象被銷毀之后, 或被創(chuàng)建之前, 其他對(duì)象可以具有相同的id值.

那為什么 is操作的結(jié)果為False呢? 讓我們看看這段代碼.

class WTF(object):
def __init__(self): print("I")
def __del__(self): print("D")

Output:

>>> WTF is WTF
IIDDFalse>>> id(WTF) == id(WTF)
IDIDTrue

正如你所看到的, 對(duì)象銷毀的順序是造成所有不同之處的原因。

總結(jié)

到此這篇關(guān)于Python中三個(gè)不可思議的返回功能分享的文章就介紹到這了,更多相關(guān)Python返回功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python讀文件逐行處理的示例代碼分享

    python讀文件逐行處理的示例代碼分享

    python讀文件逐行處理的示例代碼分享,大家參考使用吧
    2013-12-12
  • Python select及selectors模塊概念用法詳解

    Python select及selectors模塊概念用法詳解

    這篇文章主要介紹了Python select及selectors模塊概念用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python爬蟲入門案例之爬取去哪兒旅游景點(diǎn)攻略以及可視化分析

    Python爬蟲入門案例之爬取去哪兒旅游景點(diǎn)攻略以及可視化分析

    讀萬卷書不如行萬里路,學(xué)的扎不扎實(shí)要通過實(shí)戰(zhàn)才能看出來,本篇文章手把手帶你爬取去哪兒平臺(tái)的旅游景點(diǎn)攻略并進(jìn)行可視化分析,大家可以在過程中查缺補(bǔ)漏,看看自己掌握程度怎么樣
    2021-10-10
  • Python爬蟲設(shè)置ip代理過程解析

    Python爬蟲設(shè)置ip代理過程解析

    這篇文章主要介紹了Python爬蟲設(shè)置ip代理過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python?OpenCV超詳細(xì)講解調(diào)整大小與圖像操作的實(shí)現(xiàn)

    Python?OpenCV超詳細(xì)講解調(diào)整大小與圖像操作的實(shí)現(xiàn)

    OpenCV用C++語言編寫,它具有C?++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac?OS,OpenCV主要傾向于實(shí)時(shí)視覺應(yīng)用,并在可用時(shí)利用MMX和SSE指令,本篇文章帶你通過OpenCV實(shí)現(xiàn)重調(diào)大小與圖像裁剪
    2022-04-04
  • 關(guān)于pycharm?python3.7成功安裝dlib庫的問題

    關(guān)于pycharm?python3.7成功安裝dlib庫的問題

    這篇文章主要介紹了pycharm?python3.7成功安裝dlib庫的解決方法,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Python生命游戲?qū)崿F(xiàn)原理及過程解析(附源代碼)

    Python生命游戲?qū)崿F(xiàn)原理及過程解析(附源代碼)

    這篇文章主要介紹了Python生命游戲?qū)崿F(xiàn)原理及過程解析(附源代碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 詳解如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù)

    詳解如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù)

    在日常的Web開發(fā)中,處理表單數(shù)據(jù)是一個(gè)常見的任務(wù),而XML是一種常用的數(shù)據(jù)格式,用于在不同的系統(tǒng)之間傳遞和存儲(chǔ)數(shù)據(jù),本文通過闡述一個(gè)技術(shù)問題并給出解答的方式,介紹如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù),需要的朋友可以參考下
    2023-09-09
  • Python使用matplotlib繪制圓形代碼實(shí)例

    Python使用matplotlib繪制圓形代碼實(shí)例

    這篇文章主要介紹了Python使用matplotlib繪制圓形代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python 編程速成(推薦)

    Python 編程速成(推薦)

    這篇文章主要介紹了Python 編程速成,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04

最新評(píng)論