一段時間沒有使用python來寫代碼,就發現以前學習的很多語法都忘了。看來還是當初這方面的項目做的好不夠多,沒有系統性的運用和學習,導致了很多語法不能順手拈來。在接下來的這個項目中,
一定要把遇到的一些python知識不熟悉的地方還有遺忘的重新梳理一下,對python要達到靈活運用的境界,不能單純是能敲代碼,要達到學,做,教的三者合一。就是在做中學,學中做,做中教,教中學的
境界。
?
全局變量的作用域:
一般在函數體外定義的變量成為全局變量,在函數內部定義的變量稱為局部變量。全局變量所有作用域都可用,局部變量只能在本函數可用,變量的使用順序是,局部變量 > 全局變量, 也就是說:優先使用局部變量
?
global關鍵字:
為了解決函數內使用全局變量的問題,python增加了global關鍵字, 利用它的特性, 可以指定變量的作用域。
global關鍵字的作用:聲明變量var是全局的
?
? ? ? 實例一:函數內賦值不能改變全局變量值:
1
global
val
2
val = 10
3
4
def
test1():
5
global
val
6
val = 5
7
print
(
'
test1 global val:
'
,val)
8
9
def
test2():
10
val = 8
11
print
(
'
test2 global val:
'
,val)
12
class
Test():
13
def
__init__
(self):
14
#
global val
15
val = 5
16
#
zoo()
17
#
xy()
18
def
connect(self):
19
print
(
"
class in connect global val:
"
,val)
20
if
5 ==
val:
21
print
(
"
global val is:
"
,val)
22
23
if
__name__
==
"
__main__
"
:
24
Test().connect()
?
運行結果:
class in connect global val: 10
可以看出,函數內賦值并不能改變全局變量的值,所以需要global關鍵字
?
實例二:全局變量值改變必須要有global關鍵字:
沈德符
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關鍵字。不然就被當成了局部變量。這點一定要記好。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

