一段時間沒有使用python來寫代碼,就發現以前學習的很多語法都忘了。看來還是當初這方面的項目做的好不夠多,沒有系統性的運用和學習,導致了很多語法不能順手拈來。在接下來的這個項目中,
一定要把遇到的一些python知識不熟悉的地方還有遺忘的重新梳理一下,對python要達到靈活運用的境界,不能單純是能敲代碼,要達到學,做,教的三者合一。就是在做中學,學中做,做中教,教中學的
境界。
全局變量的作用域:
一般在函數體外定義的變量成爲全局變量,在函數內部定義的變量稱爲局部變量。全局變量所有作用域都可用,局部變量只能在本函數可用,變量的使用順序是,局部變量 > 全局變量, 也就是說:優先使用局部變量
global關鍵字:
爲了解決函數內使用全局變量的問題,python增加了global關鍵字, 利用它的特性, 可以指定變量的作用域。
global關鍵字的作用:聲明變量var是全局的
實例一:函數內賦值不能改變全局變量值:
global val
val = 10
def test1():
global val
val = 5
print(‘test1 global val:’,val)
def test2():
val = 8
print(‘test2 global val:’,val)
class Test():
def init(self):
#global val
val = 5
#zoo()
#xy()
def connect(self):
print(“class in connect global val:”,val)
if 5 == val:
print(“global val is:”,val)
if name==“main”:
Test().connect()
運行結果:
class in connect global val: 10
可以看出,函數內賦值並不能改變全局變量的值,所以需要global關鍵字
實例二:全局變量值改變必須要有global關鍵字:
‘’’
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:579817333
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
‘’’
global val
val = 10
def test1():
global val
val = 5
print(‘test1 global val:’,val)
def test2():
val = 8
print(‘test2 global val:’,val)
class Test():
def init(self):
#global val
val = 5
test1()
test2()
def connect(self):
print(“class in connect global val:”,val)
if 5 == val:
print(“global val is:”,val)
if name==“main”:
Test().connect()
測試結果:
test1 global val: 5
test2 global val: 8
class in connect global val: 5
global val is: 5
可以看出,全局變量的值改變,必須要有global關鍵字。不然就被當成了局部變量。這點一定要記好。