函式中「引用」全域性變數和「修改」全域性變數的差別

2021-06-29 06:07:13 字數 759 閱讀 7065

以下程式中,函式中可以直接列印出全域性變數x,而無須使用關鍵字global:

[html]view plain

copy

print?

x= 1

def run():   

print x  

if __name__

== '__main__':  

run()  

當在函式中需要修改全域性變數時,如果沒有global關鍵字則會出錯:

[python]view plain

copy

print?

x = 

1def

run():      

print

x  x = 2

if__name__ == 

'__main__'

:  run()  

以上程式中python發現變數x在函式內部被賦值,則將x識別為區域性變數,此時區域性變數還未賦值時就被使用,所以報錯。

加上global關鍵字後,可以得到希望的結果:

[html]view plain

copy

print?

x= 1

def run():     

global x   

print x  x= 

2if __name__

== '__main__':  

run()  

PHP中全域性變數和超全域性變數

自定義全域性變數的作用域為當前的指令碼檔案的任意位置 函式或者方法啊之類的 但是要想用它們必須先執行一下 global variable語句 variable為要使用的全域性變數 或者是使用 global 變數名字 來呼叫。超全域性變數作用於也是為當前的指令碼檔案的任意位置,在使用的時候無需先執行 ...

vue 全域性變數的設定與在元件中修改全域性變數

1.新建乙個js檔案 我這裡新建的為defined.js 如下 我新增了兩個全域性變數 access token refresh token set方法是在元件中修改全域性變數時需要的 然後在vue專案的main.js中匯入defined.js檔案 然後將物件新增到vue原型鏈上,這樣就可以在元件中...

python全域性變數在 函式中 修改

全域性變數的名字宣告在函式體中時,全域性變數的名字就被區域性變數覆蓋掉。全域性變數對於所有的函式,他們的值都是可以被訪問的。除非別刪除,不然一直活動到指令碼結束。區域性變數是暫時的。程式示例 var 200 1 def foo var 100 2 print var 3 結果是200,不是100。因...