python中全域性變數和區域性變數解析

2021-09-24 17:58:46 字數 791 閱讀 9455

python函式中可以訪問全域性變數但是不能給全域性變數賦值,除非進行顯式宣告global a

比如定義了全域性變數 a

在函式my_fun()中可以直接訪問a的值,而不需要global全域性變數申明。下圖為上面**執行輸出

當企圖改變全域性變數的值時,如下圖**:

這時候執行**的輸出如下,可見函式中給a賦值時並沒有改變全域性變數a的值,只是在函式中新建了乙個區域性變數a

最後,如果在函式中申明a是全域性變數 global a,就可以在函式中給全域性變數賦值了,如下圖所示:

不同語言之間是有一些語法上的差別,對各類程式語言異同理解不深刻的人是很難把握清楚的,所以遇到什麼bug就記錄積累下來。。。

python中全域性變數和區域性變數

1 python中定義在函式內部的變數稱為區域性變數,區域性變數只能在區域性函式內部生效,它不能在函式外部被引用。def discount price,rate price discounted price rate return price discounted sale price float ...

python全域性變數和區域性變數

總體來說跟c 差不多 有一點不一樣的是,當乙個全域性變數在某一函式中出現了賦值之後,函式中使用的是相同名字的區域性變數,而全域性變數不受影響 如a 100 def f a 100 print a f 這裡,函式內部的變數名如果第一次出現,且出現在 前面,即被視為定義乙個區域性變數。而函式中的a是乙個...

python全域性變數和區域性變數

當你在函式定義內宣告變數的時候,它們與函式外具有相同名稱的其他變數沒有任何關係,即變數名稱對於函式來說是 區域性 的。這稱為變數的 作用域 所有變數的作用域是它們被定義的塊,從它們的名稱被定義的那點開始。使用區域性變數 usr bin python filename func local.py de...