成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何正確的使用Python函數

開發 后端
如果在一個內部函數里,對在外部作用域Python函數的變量進行引用,那么內部函數就被認為是閉包。

本文主要講述Python函數的問題,怎樣創建Python函數等問題,這些內容都是一些門戶網站和技術論壇找到的,中間可能有不少錯誤是我沒有挑出的,歡迎大家指正。

語法上看比較簡單,但是用處卻是相當廣泛的。在Python 2.1版本以前,只有全局域和局部作用域,而在2.1以后的版本中我們可以使用靜態嵌套域,如像下面這樣的嵌套函數中,在以前,內部函數是不能訪問外部Python函數作用域中的變量。

PyDev 選項窗口

 

Python 2.1版本以前,只有全局域和局部作用域,而在2.1以后的版本中我們可以使用靜態嵌套域,如像下面這樣的嵌套Python函數中,在以前,內部Python函數是不能訪問外部函數作用域中的變量的,def foo():

  1. def foo():  
  2.     m = 3 
  3.     def bar():  
  4.         n = 4 
  5.         print m + n  
  6.     print m  
  7.  bar() 

而在現在的版本中可以***運行,而bar()中的 m 就是一個既不屬于全局域又不屬于局部域的閉包變量,它存活在一個Python函數的名稱空間和作用域---嵌套作用域。而在閉包中對嵌套作用域中的訪問規則與上面討論的Global是一樣的。即在對閉包變量 m 的重新聲明之前引用 m 都會引發異常。

為什么會這樣呢?其實是因為m的類型有關,我們知道Pyhton中的基本數據類型分為可變和不可變,對于不可變類型的賦值,其實是重新定義一個新的變量對象。并深拷貝原對象到新對象,參考str類型說明。 如果將上面的 m 聲明成可變類型list,那就不會產生這個異常了。

關于可變類型與不可變類型的說明,這里就不展開說了,大家可以看API Document下面舉一個閉包的實際例子:

  1. def hellocounter (name):  
  2.     count=[0]  
  3.     def counter():  
  4.         count[0]+=1  
  5.         print 'Hello,',name,',',str(count[0])+' access!'  
  6.     return counter  
  7.  
  8. hello = hellocounter('ysisl')  
  9. hello()  
  10. hello()  
  11. hello()  
  12.  
  13. Console output:   
  14.  Hello, ysisl , 1 access!  
  15.  Hello, ysisl , 2 access!  
  16.  Hello, ysisl , 3 access!  

【編輯推薦】

  1. 如何使Python嵌入C++應用程序?
  2. 深入探討Ruby與Python語法比較
  3. Python學習資料介紹分享
  4. Python學習經驗談:版本、IDE選擇及編碼解決方案
  5. 淺析Python的GIL和線程安全
責任編輯:chenqingxiang 來源: CSDN
相關推薦

2010-01-18 17:23:55

函數

2010-01-18 17:23:55

函數

2021-03-15 12:23:24

Pythonyield代碼

2019-11-14 16:23:07

MySQL索引數據庫

2010-02-03 17:42:30

2015-03-31 14:15:12

JavaJava事件通知

2020-12-29 05:34:48

Scrapy網頁源代碼

2022-09-07 08:58:58

Node.js框架

2018-12-05 09:00:00

RedisRedis Strea數據庫

2010-06-13 15:00:23

MySQL統計函數

2010-05-21 17:14:18

MySQL 數字類型

2009-12-04 09:41:25

PHP函數flush(

2009-12-02 16:38:26

PHP發送郵件函數

2010-07-07 10:25:00

SQL Server索

2023-12-26 11:56:14

Go通道編程

2022-11-23 08:00:00

開發Regulator調試

2010-02-02 14:11:14

Python 進行編程

2010-02-03 14:37:10

Python 開發環境

2009-11-26 18:49:54

PHP函數preg_s

2011-04-27 16:38:31

投影機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩国产免费 | 三级视频久久 | 不卡一二三区 | 黄网站免费在线 | 99精品亚洲国产精品久久不卡 | 国产黄色大片在线观看 | 女人牲交视频一级毛片 | 五月综合色啪 | 精品久久久久久久久久久久久久 | 中文在线播放 | 国产福利视频导航 | 成人黄色a | 日批日韩在线观看 | 欧美成人久久 | 国产一级片精品 | 青青草综合网 | 亚洲国产高清高潮精品美女 | 国产一区二区欧美 | 久久综合狠狠综合久久 | 久久久精品一区二区 | 亚洲国产精品久久 | 日韩成人精品一区二区三区 | 亚洲国产中文在线 | 亚洲丝袜天堂 | 色精品| 精品久久免费 | 97国产成人 | 91伊人网 | 婷婷综合激情 | 国产精品久久久久久久久免费高清 | 国产在线第一页 | 久久精品日产第一区二区三区 | 日本黄色高清视频 | 99色播 | 欧美一级网站 | 成人精品久久日伦片大全免费 | 国产精品久久久久久久久久久免费看 | 国产一区二区欧美 | 91伊人| 蜜桃精品在线 | www.久久久.com |