Python中的Function定義方法第2/2頁
更新時間:2009年09月25日 14:57:30 作者:
Python中,函數(shù)是可被重用的程序段。對于函數(shù)的定義,可以使用def關(guān)鍵字。
對于變量z,它就是nonlocal級別的。如果在inner中需要使用z,則需要使用nonlocal關(guān)鍵字進行聲明。
講完了變量的作用范圍,就該講講函數(shù)的參數(shù)問題了。 Python中的函數(shù)可以0-n個參數(shù),這和其他編程語言一樣沒有什么特別之處。同樣的,可以為函數(shù)參數(shù)指定默認值。例如:
復制代碼 代碼如下:
def power(num,power = 1):
print(num ** power)
power(2)
power(2,2)
#*************
#運行結(jié)果
2
4
對于第一次調(diào)用power(2),并沒有指定第二個參數(shù)power的值,根據(jù)輸出結(jié)果可知,函數(shù)使用了默認值。第二次調(diào)用power(2,2),因為給定了第二個參數(shù)的值,所以,power的值為2。
在這里需要注意的是,在python中,對于給你默認值的參數(shù),一定要在參數(shù)列表的最后。也就是說,在參數(shù)列表中,如果出現(xiàn)了給定默認值的參數(shù)后,就不能在出現(xiàn)沒有給定默認值的參數(shù)。
對于參數(shù)賦值,可以使用關(guān)鍵字的方式賦值。例如:
復制代碼 代碼如下:
def func(a,b=1,c=2):
print('a={0},b={1},c={2}'.format(a,b,c))
func(1)
func(1,2)
func(1,c=3)
func(b=2,a=4)
#*************
#運行結(jié)果
a=1,b=1,c=2
a=1,b=2,c=2
a=1,b=1,c=3
a=4,b=2,c=2
可以通過指定參數(shù)名稱來對參數(shù)進行賦值。
Python支持可變參數(shù)列表,首先看下面的程序:
復制代碼 代碼如下:
def total(initial=5,*numbers,**keywords):
count = initial
for number in numbers:
count += number
for key in keywords:
count += keywords[key]
return count
print(total(10,1,2,3,vegetables=10,fruits=5))
#***************
#運行結(jié)果
31
在上述程序中,值得關(guān)注的是*numbers和**keywords。在程序中,第一個參數(shù)10對應第一個initial參數(shù)。接下來就是可變參數(shù)列表:其中1,2,3是一個序列,vegetables=10,fruits=5是字典。在Python中,*numbers表示的是:將1,2,3等或者更多的參數(shù)放入這個序列中;**keywords表示的是:將vegetables=10等或者更多的參數(shù)放入字典中。
您可能感興趣的文章:
相關(guān)文章
python利用pyttsx3 API實現(xiàn)文本轉(zhuǎn)語音處理
這篇文章主要為大家詳細介紹了Python如何利用pyttsx3 API實現(xiàn)文本轉(zhuǎn)語音處理,文中有詳細的示例代碼,感興趣的小伙伴可以跟隨小編一起學習一下2023-06-06
Python實現(xiàn)中文數(shù)字轉(zhuǎn)換為阿拉伯數(shù)字的方法示例
這篇文章主要介紹了Python實現(xiàn)中文數(shù)字轉(zhuǎn)換為阿拉伯數(shù)字的方法,涉及Python字符串遍歷、轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
pygame實現(xiàn)井字棋之第三步邏輯優(yōu)化
這篇文章主要介紹了pygame實現(xiàn)井字棋之第三步邏輯優(yōu)化,文中有非常詳細的代碼示例,對正在學習python的小伙伴們也有非常好的幫助,需要的朋友可以參考下2021-05-05
Python設(shè)計模式結(jié)構(gòu)型享元模式
這篇文章主要介紹了Python享元模式,享元模式即Flyweight Pattern,指運用共享技術(shù)有效地支持大量細粒度的對象,下面和小編一起進入文章了解更多詳細內(nèi)容吧2022-02-02

