python全局變量和局部變量的區(qū)別
全局變量和局部變量的區(qū)別在于作用域,全局變量在整個py文件中聲明,全局范圍內(nèi)可以使用;局部變量是在某個函數(shù)內(nèi)部聲明的,只能在函數(shù)內(nèi)部使用,如果超出使用范圍(函數(shù)外部),則會報錯。
推薦:Python教程
#!/usr/bin/python3 # -*- coding: utf-8 -*- A = 100 # 全局變量一般用大寫字母表示 def func(): a = 50 # 局部變量一般用小寫字母表示 print(a+A) func() print(A) print(a) # 報錯信息NameError: name 'a' is not defined
#!/usr/bin/python3 # -*- coding: utf-8 -*- A = 100 def func(): A=250 print(A) print(A) # 打印全部變量 func() # 局部變量
如果想在函數(shù)內(nèi)部改變?nèi)肿兞?,需要在前面加上global關(guān)鍵字,在執(zhí)行函數(shù)之后,全局變量值也會改變。
#!/usr/bin/python3 # -*- coding: utf-8 -*- A = 100 def func(): global A A = 200 print(A) print(A) # 打印全局變量 func() # 局部變量 print(A) # 改變后的全局變量
如果全局變量是列表類型,可以通過list的列表方法去對列表進(jìn)行修改,并且可以不用global來聲明。
list_1 = [1,2,56,"list"] def changeList(): list_1.append("over") print(list_1) changeList() print(list_1)
在函數(shù)內(nèi)部,如果局部變量與全局變量變量名一樣,則優(yōu)先調(diào)用局部變量。
眾多python視頻教程,盡在PHP中文網(wǎng),歡迎在線學(xué)習(xí)!