Python中的Function定義方法
更新時間:2009年09月25日 14:57:30 作者:
Python中,函數(shù)是可被重用的程序段。對于函數(shù)的定義,可以使用def關鍵字。
對于變量z,它就是nonlocal級別的。如果在inner中需要使用z,則需要使用nonlocal關鍵字進行聲明。
講完了變量的作用范圍,就該講講函數(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ù)賦值,可以使用關鍵字的方式賦值。例如:
復制代碼 代碼如下:
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
在上述程序中,值得關注的是*numbers和**keywords。在程序中,第一個參數(shù)10對應第一個initial參數(shù)。接下來就是可變參數(shù)列表:其中1,2,3是一個序列,vegetables=10,fruits=5是字典。在Python中,*numbers表示的是:將1,2,3等或者更多的參數(shù)放入這個序列中;**keywords表示的是:將vegetables=10等或者更多的參數(shù)放入字典中。
您可能感興趣的文章:
相關文章
Python3.6 + TensorFlow 安裝配置圖文教程(Windows 64 bit)
這篇文章主要介紹了Python3.6 + TensorFlow 安裝配置的教程(Windows 64 bit),本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
踩坑:pytorch中eval模式下結(jié)果遠差于train模式介紹
這篇文章主要介紹了踩坑:pytorch中eval模式下結(jié)果遠差于train模式介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python腳本執(zhí)行CMD命令并返回結(jié)果的例子
今天小編就為大家分享一篇python腳本執(zhí)行CMD命令并返回結(jié)果的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程
Centos是目前最為流行的Linux服務器系統(tǒng),其默認的Python 2.x,這篇文章主要給大家分享了關于在CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程,文中將升級的步驟一步步的介紹的非常詳細,對大家的理解和學習具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-07-07

