Python沒有真正的全局變量,在Java和C++中,全局變量則是程序級別的,站在它們的角度,那么python就是沒有全局變量,而在python的角度,是有全局變量,python提供global關(guān)鍵字,可以修改全局變量,在python中的全局變量只是針對當(dāng)前python文件/模塊所定義的,python文件就是一個模塊,獨(dú)立的命名空間,模塊內(nèi)定義的變量就只屬于該命名空間,so,python沒有真正的全局變量,全局變量也只是文件級別。
所以Python的全局變量是相對而言的
例子:
test.py
a = 1
t1.py
import sys
import test # 導(dǎo)入test模塊
a = 1 # 聲明一個變量
def func1():
global a # 引用當(dāng)前命名空間的全局變量
a += 1
def func2():
test.a += 1 # 引用test模塊命名空間的變量
def func3():
# print(sys.modules) # 記錄當(dāng)前文件導(dǎo)入的所有模塊
module = sys.modules['test'] # 二次引用已導(dǎo)入的test模塊
module.a += 1 # 引用test模塊命名空間的變量
func1()
func2()
func3()
print(a) # 結(jié)果:2
print(test.a) # 結(jié)果:3
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
