Python 全域性變數 預設引數 不定引數

2021-09-28 22:17:20 字數 2083 閱讀 3600

全域性變數作用範圍是整個**,而區域性變數僅僅在自定函式體內生效。

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...