global關鍵字-解決Python全局變量函數內修改,作用域問題

在代碼中定義了一個全局變量,使用函數無法修改,這一點C++可以直接修改

實例1

# coding: UTF-8

Gtmp = None
def change():
	Gtmp = 10
print(Gtmp)

輸出

None

實例2:

# coding: UTF-8
def func():
	tmp=10
print(tmp)

報錯,找不到tmp變量

這是兩個經典問題,解決就要用到global關鍵字

lobal語句是適用於當前整個代碼塊的聲明。它是全局變量的標識符。如果某名字在局部名字空間中沒有定義, 就自動使用相應的全局名字. 沒有global是不可能手動指定一個名字是全局的.在 global 中出現的名字不能在global 之前的代碼中使用.在 global 中出現的名字不能作爲形參, 不能作爲循環的控制對象, 不能在類定義, 函數定義, import語句中出現
版權聲明:本文爲CSDN博主「白清羽」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/gufenchen/article/details/90601413

拿前兩個例子重新改造,結果如下
實例1

# coding: UTF-8

Gtmp = None
def change():
	global Gtmp
	Gtmp = 10
print(Gtmp)

輸出

10

實例2:

# coding: UTF-8
def func():
	global tmp
	tmp=10
print(tmp)

輸出:

10
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章