nonlocal和global关键字
生活随笔
收集整理的這篇文章主要介紹了
nonlocal和global关键字
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
回顧:
1. Python的函數(shù)的概述函數(shù)定義函數(shù)調(diào)用2. Python函數(shù)中參數(shù)的類型和返回值形參和實(shí)參形參類型:普通參數(shù): 實(shí)參的傳遞的順序和個(gè)數(shù)和形參一直關(guān)鍵字參數(shù): 指定傳遞的實(shí)參被特定形參接收默認(rèn)參數(shù): 形參中設(shè)定當(dāng)前參數(shù)的默認(rèn)值可以不傳遞設(shè)定了默認(rèn)參數(shù)的實(shí)參不定長(zhǎng)參數(shù):一個(gè)形參能夠接收任意多個(gè)實(shí)參*args:普通普通收集參數(shù)的**kwargs:關(guān)鍵字收集參數(shù)實(shí)參類型:傳遞方式普通實(shí)參關(guān)鍵字實(shí)參返回值:return關(guān)鍵字返回?cái)?shù)據(jù)結(jié)果結(jié)束當(dāng)前函數(shù)return返回多個(gè)結(jié)果數(shù)據(jù),數(shù)據(jù)類型tuple過程式函數(shù)和非過程式函數(shù)3. 函數(shù)文檔的使用
1.使用help()方法來查看某一個(gè)函數(shù)的說明和幫助文檔 2. 函數(shù)名稱.__doc__: 返回說明文檔自定義函數(shù)文檔:格式:在定義函數(shù)后用'''三引號(hào)加上注釋(def 下一行) 優(yōu)點(diǎn):方便與后期的維護(hù)提高代碼的可讀性4.參數(shù)的傳遞
實(shí)際參數(shù): 數(shù)據(jù)對(duì)象對(duì)象的類型:可變對(duì)象: list dict不可變對(duì)象: number, tuple, string參數(shù)的傳遞:可變的對(duì)象:地址傳遞不可變對(duì)象:值傳遞5.變量的作用域
全局變量:在內(nèi)置哈數(shù)中,可以調(diào)用在內(nèi)置函數(shù)中,不可修改 局部變量:在內(nèi)置函數(shù)中,可以調(diào)用在函數(shù)外調(diào)用,使用global修飾后,即可訪問作業(yè)解答
回顧
1.變量定義的語法 2.標(biāo)識(shí)符命名規(guī)則 3.數(shù)據(jù)類型 4.常見的運(yùn)算符 5.分支結(jié)構(gòu) 6.循環(huán)結(jié)構(gòu) 7.函數(shù)效率: 總結(jié) + 計(jì)劃今日概要
1.python中變量的作用域 2.python中函數(shù)的遞歸 3.python的閉包一、python中變量的作用域
1.global關(guān)鍵字將局部變量的作用域提升全局變量1.變量的有效范圍向函數(shù)內(nèi)部傳遞2.如果其他函數(shù)內(nèi)部沒有使用global,當(dāng)前函數(shù)可以訪問外部的全局變量,不能修改3.在單簽的函數(shù)內(nèi)部使用global修飾外部變量,在當(dāng)前哈數(shù) 中可以修改4.其他的哈數(shù)對(duì)于使用global修飾外部變量的函數(shù)來說,沒有提升的效果2.nonlocal 關(guān)鍵字在內(nèi)置函數(shù)(嵌套的函數(shù)中)使用1.在局保護(hù)函數(shù)中的局部使用2.將當(dāng)前哈數(shù)中的變量的作用域提升到上一層,僅僅提升一層,在此層中必要得聲明3.允許和global一起使用綜合案例
def one():def two():num="11" #在函數(shù)two的局部變量def three():nonlocal numnum="22" # 將局部函數(shù)three的變量num向上提升,數(shù)據(jù)同步def four():global num num="33" # 將局部函數(shù)four的變量提升到全局num="00" two()print(num) # 00three()print(num) # 22four()print(num) # 22 one() print(num) # 33二、函數(shù)的遞歸
1.概念在哈數(shù)的哈數(shù)體中調(diào)用該函數(shù)本省(自己調(diào)用自己)2.案例求階乘求fib數(shù)列 3.注意事項(xiàng)1.查找遞歸的規(guī)則,設(shè)置退出遞歸的條件2.使用遞歸可能影響程序的執(zhí)行性能(賊費(fèi)性能)3.使問題簡(jiǎn)單化(盡量不要使用) 4.練習(xí)1.使用遞歸求階乘2.(擴(kuò)展)求Fib數(shù)列第n為的值?三、python中閉包
1.概念在一個(gè)外部函數(shù)中定義一個(gè)內(nèi)部函數(shù),函數(shù)的嵌套內(nèi)部函數(shù)使用了外部函數(shù)的變量,并且外部函數(shù)的返回值是內(nèi)部函數(shù)的引用外函數(shù)傳遞給內(nèi)函數(shù)的數(shù)據(jù),不會(huì)隨著外部函數(shù)執(zhí)行完就沒了,就好像綁定在了內(nèi)部函數(shù)中似的 2.修改內(nèi)函數(shù)中的數(shù)據(jù)需要使用nonlocal進(jìn)行修飾 3.閉包的優(yōu)點(diǎn)提高代碼的復(fù)用性對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和封裝,提高數(shù)據(jù)安全性總結(jié)
以上是生活随笔為你收集整理的nonlocal和global关键字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android横竖屏切换布局闪退,And
- 下一篇: 格雷码(Gray Code)编码、实现及