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

Python閉包執(zhí)行時(shí)值的傳遞方式實(shí)例分析

 更新時(shí)間:2018年06月04日 09:48:00   作者:有一種宿命叫無能為力  
這篇文章主要介紹了Python閉包執(zhí)行時(shí)值的傳遞方式,結(jié)合實(shí)例形式分析了Python閉包執(zhí)行時(shí)的傳值原理與實(shí)現(xiàn)方式,代碼中包含了較為詳盡的注釋便于理解,需要的朋友可以參考下

本文實(shí)例分析了Python閉包執(zhí)行時(shí)值的傳遞方式。分享給大家供大家參考,具體如下:

代碼中有問題和問題的解釋。

#!/usr/bin/python
#coding: utf-8
# 判斷一個(gè)人是否及格,如果滿分150,則90及格,如果滿分100,則60及格
# 開始的疑惑:當(dāng)fun函數(shù)執(zhí)行完以后,對(duì)應(yīng)的val的值就應(yīng)該消失,但是,
# 當(dāng)下面代碼再次調(diào)用f(60)的時(shí)候(這個(gè)f()函數(shù)就是fun_c()函數(shù))
# 卻能夠打印出val的值???
def fun(val):
  'val是得到的分?jǐn)?shù)'
  # 打印此時(shí)存儲(chǔ)的val的地址
  print("%x" % id(val))
  def fun_c(passline):
    'passline是及格線'
    if val >= passline:
      print("通過")
    else:
      print("不及格")
  return fun_c
f = fun(89) # f就是fun_c函數(shù)
# 利用__closure__打印出fun_c()函數(shù)的屬性,可以發(fā)現(xiàn)f中第一個(gè)元素的id值和val的id值地址相同
# 這說明如果引用了外部的變量(enclosing變量)的話,會(huì)將這個(gè)變量添加到函數(shù)屬性中
# 當(dāng)再次進(jìn)行查找(即f(60))的時(shí)候,并不是到代碼中去查找,而是到函數(shù)屬性中去查找
# 也就是上面的fun_c的屬性中有val的值,是一個(gè)元組,不能夠改變
print(f.__closure__)
f(60)
f = fun(89)
f(90)

運(yùn)行結(jié)果:

12ee0b0
(<cell at 0x017B24B0: int object at 0x012EE0B0>,)
通過
12ee0b0
不及格

閉包的作用:

1. 代碼的封裝

2. 代碼復(fù)用

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

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

相關(guān)文章

  • python保存兩位小數(shù)的多種方法匯總

    python保存兩位小數(shù)的多種方法匯總

    很多小伙伴在學(xué)習(xí)python的時(shí)候可能會(huì)遇到對(duì)數(shù)據(jù)進(jìn)行格式化輸出的需求,其中最常見的需求為:保留幾位小數(shù),下面這篇文章主要給大家介紹了關(guān)于python保存兩位小數(shù)的多種方法,需要的朋友可以參考下
    2021-12-12
  • Python做簡(jiǎn)單的字符串匹配詳解

    Python做簡(jiǎn)單的字符串匹配詳解

    這篇文章主要介紹了Python做簡(jiǎn)單的字符串匹配詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 詳解sklearn?Preprocessing?數(shù)據(jù)預(yù)處理功能

    詳解sklearn?Preprocessing?數(shù)據(jù)預(yù)處理功能

    這篇文章主要介紹了sklearn?Preprocessing?數(shù)據(jù)預(yù)處理功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Python文件操作之二進(jìn)制文件詳解

    Python文件操作之二進(jìn)制文件詳解

    下面小編就為大家?guī)硪黄褂肞ython文件操作之二進(jìn)制文件。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2021-09-09
  • Python 從attribute到property詳解

    Python 從attribute到property詳解

    這篇文章主要介紹了Python 從attribute到property詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Pandas把dataframe或series轉(zhuǎn)換成list的方法

    Pandas把dataframe或series轉(zhuǎn)換成list的方法

    這篇文章主要介紹了Pandas把dataframe或series轉(zhuǎn)換成list的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Django Admin實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)的示例代碼(省市區(qū))

    Django Admin實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)的示例代碼(省市區(qū))

    多級(jí)菜單在很多上面都有應(yīng)用,這篇文章主要介紹了Django Admin實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)(省市區(qū)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • pymongo中g(shù)roup by的操作方法教程

    pymongo中g(shù)roup by的操作方法教程

    這篇文章主要給大家介紹了關(guān)于pymongo中g(shù)roup by的操作方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用pymongo具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python圖像處理之圖像金字塔詳解

    Python圖像處理之圖像金字塔詳解

    這篇文章主要介紹了圖像處理中的圖像金字塔,包括圖像向上取樣和向下取樣。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2022-02-02
  • Python matplotlib繪制xkcd動(dòng)漫風(fēng)格的圖表

    Python matplotlib繪制xkcd動(dòng)漫風(fēng)格的圖表

    xkcd是蘭道爾·門羅(Randall Munroe)的網(wǎng)名,又是他所創(chuàng)作的漫畫的名稱。本文將用matplotlib庫(kù)繪制xkcd動(dòng)漫風(fēng)格的圖表,感興趣的可以了解一下
    2022-03-03

最新評(píng)論