分不清全域性變數和區域性變數?這兩個案例讓你秒懂!

2021-10-05 04:04:09 字數 883 閱讀 8076

有一段時間沒有使用python來寫**,就發現以前學習的很多語法都忘了。看來還是當初這方面的專案做的好不夠多,沒有系統性的運用和學習,導致了很多語法不能順手拈來。

對python要達到靈活運用的境界,不能單純是能敲**,要達到學,做,教的三者合一。就是在做中學,學中做,做中教,教中學的境界。

全域性變數的作用域:

一般在函式體外定義的變數成為全域性變數,在函式內部定義的變數稱為區域性變數。全域性變數所有作用域都可用,區域性變數只能在本函式可用,變數的使用順序是,區域性變數 > 全域性變數, 也就是說:優先使用區域性變數

global關鍵字:

為了解決函式內使用全域性變數的問題,python增加了global關鍵字, 利用它的特性, 可以指定變數的作用域。

global關鍵字的作用:宣告變數var是全域性的

例項一:函式內賦值不能改變全域性變數值

執行結果:

可以看出,函式內賦值並不能改變全域性變數的值,所以需要global關鍵字

例項二:全域性變數值改變必須要有global關鍵字

測試結果:

可以看出,全域性變數的值改變,必須要有global關鍵字。不然就被當成了區域性變數。這點一定要記好。

《python學習資料》

全域性變數和區域性變數

全域性變數 可以被不同的函式 類或檔案呼叫的變數,在函式外定義。區域性變數 只能在函式內使用,定義在函式內。區域性變數的使用 class myclass def myfun num 12 print myfun num num 正確 def myfun2 num num 1 print mufun ...

全域性變數和區域性變數

區域性變數 在方法中開闢的變數,只在方法中有效 區域性變數在定義時不會初始化,要顯式的給它乙個值 如未給它乙個初始值,雖然編譯的時候會通過,但是執行的時候會產生為初始化錯誤!方法呼叫 執行完,區域性變數便會自動釋放。在方法內的語句塊中建立的變數在編譯時假如未初始,如若使用,也會報未初始化錯誤!呼叫的...

全域性變數和區域性變數

通常的認為是定義在函式外面的就稱之為全域性變數 函式體內的稱之為區域性變數 在函式中與全域性變數同名的時候 情形1 函式內部的變數名如果第一次出現,且出現在 前面,即被視為定義乙個區域性變數。num 100 定義乙個全域性變數 defdemo num 100 這裡面的實際上是定義了乙個區域性的變數 ...