亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中函數的用法

發布時間:2021-08-25 15:11:28 來源:億速云 閱讀:120 作者:chen 欄目:編程語言

這篇文章主要介紹“Python中函數的用法”,在日常操作中,相信很多人在Python中函數的用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python中函數的用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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

Python中函數的用法

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

def foo():      m = 3     def bar():          n = 4         print m + n      print m   bar()

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

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

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

def hellocounter (name):      count=[0]      def counter():          count[0]+=1          print 'Hello,',name,',',str(count[0])+' access!'      return counter   hello = hellocounter('ysisl')  hello()  hello()  hello()   Console output:    Hello, ysisl , 1 access!   Hello, ysisl , 2 access!   Hello, ysisl , 3 access!

到此,關于“Python中函數的用法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中山市| 彩票| 山阳县| 无极县| 关岭| 青川县| 尼玛县| 南召县| 彩票| 海伦市| 武山县| 于都县| 梓潼县| 澜沧| 镇平县| 独山县| 肃宁县| 揭阳市| 钦州市| 清新县| 连州市| 三门峡市| 安乡县| 大竹县| 信宜市| 无棣县| 巢湖市| 阳曲县| 酉阳| 阿勒泰市| 玉林市| 化德县| 华阴市| 英德市| 承德县| 工布江达县| 绥德县| 宁城县| 诸城市| 林芝县| 定边县|