91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

尚志市| 镇安县| 禄丰县| 泸水县| 楚雄市| 株洲县| 桐城市| 津南区| 林周县| 佳木斯市| 平度市| 富锦市| 闸北区| 长子县| 文昌市| 常德市| 牙克石市| 兴义市| 唐海县| 六枝特区| 海宁市| 刚察县| 新昌县| 十堰市| 从化市| 沙坪坝区| 奈曼旗| 栾川县| 阿坝县| 晴隆县| 侯马市| 利川市| 登封市| 临泉县| 景宁| 八宿县| 陆丰市| 上思县| 开化县| 迁西县| 伊宁市|