色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python哪些不需要縮進(jìn)

python哪些不需要縮進(jìn)?

全局變量:指在函數(shù)之外定義的變量,一般沒有縮進(jìn),在程序執(zhí)行的全過程有效

局部變量:指在函數(shù)內(nèi)部使用的變量,僅在函數(shù)內(nèi)部有效,當(dāng)函數(shù)退出時(shí)變量將不存在

例1:

n = 1 # 全局變量

def func(a, b):

c = a * b # c是局部變量,a和b作為函數(shù)參數(shù)也是局部變量

return c

s = func("knock~", 2)

print(s)

print(c)

![]()

這個(gè)例子說明,當(dāng)函數(shù)執(zhí)行完退出后,其內(nèi)部變量將被釋放。

如果函數(shù)內(nèi)部使用了全局變量呢?例如:

n=1 #n是全局變量

def func(a,b):

n=b #這個(gè)n是在函數(shù)內(nèi)存中新生成的局部變量,不是全局變量

return a*b

s=func("knock~",2)

print(s,n) #測(cè)試一下n值是否發(fā)生改變knock~knock~ 1

![]()

函數(shù)func()內(nèi)部使用了變量n,并且將變量參數(shù)b賦值給變量n,為何n值沒有改變?

因?yàn)楹瘮?shù)func()有自己的內(nèi)存空間,它將n=b語句理解為生成一個(gè)局部變量n,并將參數(shù)b賦值給它,此時(shí)func()函數(shù)沒有將n當(dāng)作全局變量。所以,函數(shù)退出后,局部變量n被釋放,全局變量n的值沒有改變。

如果希望讓func()函數(shù)將n當(dāng)作全局變量,需要在變量n使用前顯式說明該變量未全局變量,修改后:

n = 1 # n是全局變量

def func(a,b):

global n

n = b # 這個(gè)n是在函數(shù)內(nèi)存中新生成的局部變量,不是全局變量

return a*b

s = func("knock~",2)

print(s, n) # 測(cè)試一下n值是否發(fā)生改變knock~knock~ 1

![]()