全域性變數作用範圍是整個**,而區域性變數僅僅在自定函式體內生效。
temp =
0#定義乙個全域性變數。
#定義全域性變數要在呼叫函式之前。
defget_temp()
:global temp
#若不進行宣告,則temp還是乙個區域性變數。
temp =
37#全域性變數被修改為「37」
defprint_temp()
:print
("溫度是%d"
%temp)
get_temp(
)print_temp(
)
便於重複開發,增加可讀性。
def
text()
:'''這是用來完成某功能的函式'''
>>
>
help
(text)
如果你不喜歡香菜,那麼你點外賣時需要進行備註。如果不進行備註,則店家預設加香菜。
預設引數便是這樣的存在。
print
('預設引數'end='')
#print語句預設進行換行,不需要換行時要進行備註。
#這就是一種預設引數。
deftest
(a,b=
22,c=33)
:print
(a)test(11)
#此時b、c按預設值算。
deftest
(a,b=
22,c=33)
:print
(a)test(
11,c=44)
#此時c=44,不按預設引數33來
不定引數的引入可以提高程式的靈活性
def
test
(a,b,
*c):
print
(c)# *c 收錄多餘的實參
test(11)
#錯誤,形參至少需要兩個實參
test(11,
22,33,
44,55)
>>
>(33
,44,55
)
def
test
(a,b,
*c,**d)
:print
(a)print
(b)print
(c)print
(d)# **d 收錄有名字的實參
test(11,
22,33,
44,age=
55,task=
233)
>>
>
1122(33
,44)
具體應用
不限定傳入實參個數的加法函式
def
test
(*c)
: result=
0for num in c:
result+=num
print
(result)
test(11,
22,33,
44)
在實參前加*或**即表示拆包元組或字典,將其中的組成單元打散傳遞。
def
test
(a,*args,
**kwargs)
:print
(a)print
(args)
print
(kwargs)
a =(11,
22,33)
b =test(11,
*a,**b)
>>
>11(
11,22,
33)
python 全域性變數
應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...
Python 全域性變數
應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...
python全域性變數
python中global關鍵字主要作用是宣告變數的作用域。在c語言中,由於變數一定是先宣告,後使用,所以我們可以清楚的知道,現在使用的變數是全域性還是區域性,比如 cpp view plain copy inta 5 void test void void test1 void void main...