溫馨提示×

溫馨提示×

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

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

python學(xué)習(xí)筆記4:變量作用域

發(fā)布時(shí)間:2020-04-03 03:40:38 來源:網(wǎng)絡(luò) 閱讀:280 作者:young27 欄目:開發(fā)技術(shù)

變量作用域

  • 變量由作用范圍限制
  • 分類:按照作用域分類
    • 全局(global): 在函數(shù)外部定義
    • 局部(local):在函數(shù)內(nèi)部定義
  • 變量的作用范圍:
    • 全局變量:在整個(gè)全局范圍都有效
    • 全局變量在局部可以使用(即函數(shù)內(nèi)部可以訪問函數(shù)外部定義的變量)使用方法: global
    • 局部變量在局部范圍可以使用
    • 局部變量在全局范圍無法使用
  • LEGB原則
    • L(Local)局部作用域
    • E(Enclosing function locale)外部嵌套函數(shù)作用域
    • G(Global module)函數(shù)定義所在模塊作用域
    • B(Buildin): python內(nèi)置模塊的作用域
# 認(rèn)為a1是全局的
a1 = 100
def fun():
    global a1
    a1 = 300
    print(a1)
    print("I am in fun")
    # a2的作用范圍是fun
    a2 = 99
    print(a2)    
print(a1)
fun()
  • 可以通過內(nèi)建函數(shù):globals()和locals()顯示出局部變量和全局變量

eval()函數(shù)

  • 把一個(gè)字符串當(dāng)成一個(gè)表達(dá)式來執(zhí)行, 返回表達(dá)式執(zhí)行后的結(jié)果
  • 語法:

        eval(string_code, globals=None, locals=None)

exec()函數(shù)

  • 跟eval功能類似, 但是,不返回結(jié)果
  • 語法:

    exec(string_code, globals=None, locals=None)
x = 100
y = 200
z1 = x + y
z2 = eval("x+y")
print(z1)
print(z2)
c =eval("print(x,y)")
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI