靚麗時尚館

位置:首頁 > 健康生活 > 心理

python哪些不需要縮排

心理2.38W
python哪些不需要縮排

全域性變數:指在函式之外定義的變數,一般沒有縮排,在程式執行的全過程有效

區域性變數:指在函式內部使用的變數,僅在函式內部有效,當函式退出時變數將不存在

例1:

n = 1 # 全域性變數

def func(a, b):

c = a * b # c是區域性變數,a和b作為函式引數也是區域性變數

return c

s = func("knock~", 2)

print(s)

print(c)

![]()

這個例子說明,當函式執行完退出後,其內部變數將被釋放。

如果函式內部使用了全域性變數呢例如:

n=1 #n是全域性變數

def func(a,b):

n=b #這個n是在函式記憶體中新生成的區域性變數,不是全域性變數

return a*b

s=func("knock~",2)

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

![]()

函式func()內部使用了變數n,並且將變數引數b賦值給變數n,為何n值沒有改變

因為函式func()有自己的記憶體空間,它將n=b語句理解為生成一個區域性變數n,並將引數b賦值給它,此時func()函式沒有將n當作全域性變數。所以,函式退出後,區域性變數n被釋放,全域性變數n的值沒有改變。

如果希望讓func()函式將n當作全域性變數,需要在變數n使用前顯式說明該變數未全域性變數,修改後:

n = 1 # n是全域性變數

def func(a,b):

global n

n = b # 這個n是在函式記憶體中新生成的區域性變數,不是全域性變數

return a*b

s = func("knock~",2)

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

![]()

python的縮排,表示的這個縮排程式碼區域是屬於一個程式碼塊。。。比如for程式碼塊,while程式碼塊 縮排只要對齊就行。至於縮排幾個,隨便你。但pep標準建議是縮排4個。。

標籤:縮排 python