欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python函數(shù)legb python函數(shù)累加求和代碼

初學(xué)python,有關(guān)函數(shù)作用域問題

def?fun1():

創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元平定做網(wǎng)站,已為上家服務(wù),為平定各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

x=5

def?fun2():?????

?return?x

return?fun2()

fun1()

x值不能改變。圖二也是一樣,如y*=y or y+=1,Y值改變也是不行的

#抬抬小手學(xué)Python# Python 之作用域下的 global 和 nonlocal 關(guān)鍵字

該部分內(nèi)容涉及 Python 變量作用域相關(guān)知識(shí),變量作用域指的是變量的有效作用范圍,直接理解就是 Python 中的變量不是任意位置都可以訪問的,有限制條件。

一般情況下變量的作用域變化范圍是 塊級(jí)、函數(shù)、類、模塊、包等,級(jí)別是從小到達(dá)。Python 中是沒有塊級(jí)作用域的,所以我們在寫代碼的時(shí)候,下面的代碼是正確的。

在 Python 中常見的塊級(jí)作用域有 if 語句、for 語句、while 語句、with 上下文語句。

上文已經(jīng)提及了作用域是 Python 程序可以直接訪問一個(gè)變量的作用范圍,Python 的作用域一共有 4 種,分別如下:

一個(gè)比較經(jīng)典的案例如下:

在 Python 中變量尋找的順序是從內(nèi)到外,先局部,然后外部,在全局,在內(nèi)建,這種規(guī)則叫做 LEGB 規(guī)則 。

增加以下學(xué)習(xí)的趣味性,你可以研究下述代碼中變量是如何變化的。

定義在 函數(shù)內(nèi)部 的變量擁有一個(gè)局部作用域,定義在 函數(shù)外部 的變量擁有全局作用域。

輸出結(jié)果,函數(shù)內(nèi)部是 123 ,函數(shù)外部依舊是 0 。

如果希望函數(shù)內(nèi)部(內(nèi)部作用域)可以修改外部作用域的變量,需要使用 global 關(guān)鍵字。

此時(shí)輸出的就都是 123 了,還有一點(diǎn)需要注意,在函數(shù)內(nèi)容如果希望修改全局變量的值, global 關(guān)鍵字一定要寫在變量操作前。

該代碼會(huì)出現(xiàn)語法錯(cuò)誤:

全局變量還存在一個(gè)面試真題,經(jīng)常出現(xiàn),請問下述代碼運(yùn)行結(jié)果。

如果要修改嵌套作用域(Enclosing 作用域)中的變量,需要 nonlocal 關(guān)鍵字,測試代碼如下:

輸出結(jié)果自行測試,注意 nonlocal 關(guān)鍵字必須是 Python3.X+版本,Python 2.X 版本會(huì)出現(xiàn)語法錯(cuò)誤:

在多重嵌套中, nonlocal 只會(huì)上溯一層,如果上一層沒有,則會(huì)繼續(xù)上溯,下述代碼你可以分別注釋查看結(jié)果。

局部變量和全局變量具體有哪些,可以通過 locals() 和 globals() 兩個(gè)內(nèi)置函數(shù)獲取。

本篇博客為大家說明了 Python 的作用域,并且對 global 和 nonlocal 關(guān)鍵字進(jìn)行了學(xué)習(xí),希望對你有所幫助。

python中range()的用法是什么?

range()函數(shù)的用法如下:

(1)range(stop)

創(chuàng)建一個(gè)(0,stop)之間的整數(shù)序列,步長為1。

(2)range(start,stop)

創(chuàng)建一個(gè)(start,stop)之間的整數(shù)序列,步長為1。

(3)range(start,stop,step)

創(chuàng)建一個(gè)[start,stop)之間的整數(shù)序列,步長為step。

參數(shù)介紹:

start:表示從返回序列的起始編號(hào),默認(rèn)情況下從0開始。

stop:表示生成最多但不包括此數(shù)字的數(shù)字。

step:指的是序列中每個(gè)數(shù)字之間的差異,默認(rèn)值為1。

range()是Python的內(nèi)置函數(shù),在用戶需要執(zhí)行特定次數(shù)的操作時(shí)使用它,表示循環(huán)的意思。內(nèi)置函數(shù)range()可用于以列表的形式生成數(shù)字序列。在range()函數(shù)中最常見用法是使用for和while循環(huán)迭代序列類型(List,string等)。

簡單的來說,range()函數(shù)允許用戶在給定范圍內(nèi)生成一系列數(shù)字。根據(jù)用戶傳遞給函數(shù)的參數(shù)數(shù)量,用戶可以決定該系列數(shù)字的開始和結(jié)束位置以及一個(gè)數(shù)字與下一個(gè)數(shù)字之間的差異有多大。

python中的LEGB原則是很么意思?

L-----local 局部名字空間

E-----enclosing 直接外圍空間

G-----global 全局名字空間

B-----builtin 內(nèi)建名字空間

變量名是按照這個(gè)順序搜索的。

網(wǎng)站題目:python函數(shù)legb python函數(shù)累加求和代碼
文章出自:http://chinadenli.net/article6/hjieig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)站收錄面包屑導(dǎo)航網(wǎng)站設(shè)計(jì)公司動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)