成人免费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

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統計函數

2015-03-31 14:15:12

JavaJava事件通知

2010-05-21 17:14:18

MySQL 數字類型

2009-12-02 16:38:26

PHP發送郵件函數

2010-07-07 10:25:00

SQL Server索

2010-02-02 14:11:14

Python 進行編程

2010-02-03 14:37:10

Python 開發環境

2009-12-04 09:41:25

PHP函數flush(

2009-11-26 18:49:54

PHP函數preg_s

2010-02-22 14:13:38

安裝Python

2010-03-15 10:49:57

Python函數變量

2009-12-04 12:51:27

PHP functio
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中国一级特黄真人毛片免费观看 | 成人亚洲性情网站www在线观看 | 亚洲综合色视频在线观看 | 色综合久久久久 | 黑人精品欧美一区二区蜜桃 | 欧美成人精品 | 色综合国产| 亚洲免费三区 | 网色| 亚洲视频中文字幕 | 狠狠色狠狠色综合日日92 | 日韩在线不卡 | 久久久成人免费一区二区 | 综合色婷婷| 欧美日韩国产传媒 | 中文字幕在线免费视频 | 中文字幕一区二区三区精彩视频 | 日韩在线视频一区 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲经典一区 | 国产日韩欧美 | 成人在线免费电影 | 亚洲精品一区二区三区蜜桃久 | 欧美激情精品久久久久久免费 | 久久久久亚洲av毛片大全 | 国产h视频| www一级片 | 日日夜夜精品免费视频 | 欧美日韩激情 | 久久99国产精品久久99果冻传媒 | 国产精品视频久久 | 一区二区三区免费观看 | 日日摸日日碰夜夜爽2015电影 | 四虎影| 亚洲天堂成人在线视频 | 国产一级片在线播放 | 中文字幕第5页 | 99精品免费| 国产欧美日韩一区二区三区在线 | 国产精品免费看 | 91久久国产精品 |