python-全局變量是否使用global總結


num = 100
nums = [11, 22]


def test1(num):
num += 1


def test2():
global num
num += 1


def test3(nums):
nums += [33]


def test4():
global nums
nums += [33]


def test5():
nums.append(33)


if __name__ == '__main__':
print(num) # 原值 100
test1(num)
print(num) # 未改變 100
test2()
print(num) # 改變 101

print(nums) # 原值 [11, 22]
test3(nums)
print(nums) # 改變 [11, 22, 33]
test4()
print(nums) # 改變 [11, 22, 33, 33]
test5()
print(nums) # 改變 [11, 22, 33, 33, 33]

在一個函數中, 對全局變量進行修改的時候,到底是否需要使用global進行說明
要看是否對 全局變量的指向進行了修改,
如果修改了執行,即讓全局變量指向一個新的地方,那么必須使用gobal
如果僅僅修改了 指向的空間數據, 此時就不需要使用global


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM