溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python函數(shù)參數(shù)的示例分析

發(fā)布時間:2021-08-21 11:23:55 來源:億速云 閱讀:123 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下python函數(shù)參數(shù)的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

#python中的函數(shù)定義,使用和傳參
###------------------- 必要參數(shù) -------------------------------------
必要參數(shù),即函數(shù)調(diào)用時必須要傳的參數(shù),
 #下面進行舉例說明
 def helloWorld(a):
  print('輸出:hello')
 if __name__ == '__main__':
  helloWorld("aaa") ## 必須要有參數(shù)
##------------ 默認(rèn)參數(shù) -----------------------------------------------------------
說明:
 1.必選參數(shù)在前,
 2,有多個默認(rèn)參數(shù)時,調(diào)用的時候,既可以按順序提供默認(rèn)參數(shù)
 3,也可以不按順序提供部分默認(rèn)參數(shù)。當(dāng)不按順序提供部分默認(rèn)參數(shù)時,需要把參數(shù)名寫上
例如:
def enroll(name, gender, age=6, city='Beijing'):
 print('name:', name)
 print('gender:', gender)
 print('age:', age)
 print('city:', city)
enroll('Bob', 'M', 7)
enroll('Adam', 'M', city='Tianjin')
特別重要:
 ### 定義默認(rèn)參數(shù)要牢記一點:默認(rèn)參數(shù)必須指向不變對象!
例如:
def add_end(L=[]):
 L.append('END')
 return L
print (add_end())
print (add_end())
結(jié)果:
 ['END']
 ['END','END']
原因說明:
 Python函數(shù)在定義的時候,默認(rèn)參數(shù)L的值就被計算出來了,在每次調(diào)用時,L參數(shù)已經(jīng)變前一次調(diào)用所更改了,
所以:
 避免在函數(shù)里面去修改函數(shù)的默認(rèn)參數(shù)值。
##--------------------- 關(guān)鍵字參數(shù) --------------------------------------------
def about(name,course,site):
 print (name,course,site)
about('jim','100','www.baidu.com') ## 必須按順序傳參
about(site='www.baidu.com',name='green',course=100) ##以關(guān)健字方式傳入?yún)?shù)(可以不按順序)

##-------------- 不定長參數(shù)(可變參數(shù)) (這些可變參數(shù)在函數(shù)調(diào)用時自動組裝為一個tuple)-----------------------------------------------------------
顧名思義:
 可變參數(shù)就是傳入的參數(shù)個數(shù)是可變的,可以是1個、2個到任意個,還可以是0個。
###重要說明:
 (可變參數(shù)的好處是,不用事先準(zhǔn)備好LIST或者元組)
 這些可變參數(shù)在函數(shù)調(diào)用時自動組裝為一個tuple
定義:
def loop(*args):
 for x in args:
  print x
loop(1,2,3)
結(jié)果是:
1
2
3
###說明2:
 如果已經(jīng)有了一個列表或者元組,怎么傳遞可變參數(shù)呢??? 如下:
def loop(*args):
 for x in args:
  print x
loop(1,2,3)
a=[4,5,6]
loop(*a) ## 這里要在列表 或元組 前面加* 連傳遞參數(shù)進來。

###------------------- 這也是不定長參數(shù) ----------------------------------------------------------------
說明:
 這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動組裝為一個dict
函數(shù)定義:
def person(name, age, **kw):
 print('name:', name, 'age:', age, 'other:', kw)
調(diào)用1:
>>> person('Michael', 30)
name: Michael age: 30 other: {}
調(diào)用2:
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
調(diào)用3:
>>> extra = {'city': 'Beijing', 'job': 'Engineer'} ---事先已經(jīng)有了一個字典
>>> person('Jack', 24, **extra)      ---- **extra表示把extra這個dict的所有key-value用關(guān)鍵字參數(shù)傳入到函數(shù)的**kw參數(shù)
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
###調(diào)用說明:
**extra表示把extra這個dict的所有key-value用關(guān)鍵字參數(shù)傳入到函數(shù)的**kw參數(shù),kw將獲得一個dict,
注意kw獲得的dict是extra的一份拷貝,對kw的改動不會影響到函數(shù)外的extra。

##--------------------------------------------

ps:下面給大家介紹下python中函數(shù)、方法、關(guān)鍵字的區(qū)別

一、關(guān)鍵字

 python中一共含有32個關(guān)鍵字:'false', 'none', 'true', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'

  --關(guān)鍵字-是Python內(nèi)置的、具有特殊意義的表示符
  --使用時關(guān)鍵字后面不需要括號

二、函 數(shù)

  函數(shù)是組織好的,可重復(fù)使用的,用來實現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。可以自己定義一個函數(shù)。

  --函數(shù)-封裝了獨立功能,可以直接調(diào)用

  --函數(shù)名(參數(shù))

  以下是簡單的定義規(guī)則:

?函數(shù)代碼塊以 def 關(guān)鍵詞開頭,后接函數(shù)標(biāo)識符名稱和圓括號()。

?任何傳入?yún)?shù)和自變量必須放在圓括號中間。圓括號之間可以用于定義參數(shù)。

?函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。

?函數(shù)內(nèi)容以冒號起始,并且縮進。

?return [表達式] 結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方。不帶表達式的return相當(dāng)于返回 None。

  語法: 

def functionname( parameters ):
 "函數(shù)_文檔字符串"
 function_suite
 return [expression]

  案例:

#自定義函數(shù)
def function_name (str):
 "打印傳入的字符串"
 print(str)
 return(0);
#調(diào)用自定義函數(shù)
function_name("自定義函數(shù)")
function_name("調(diào)用自定義函數(shù)")

二、方 法

 方法-和函數(shù)類似,同樣封裝了獨立的功能
  -需要通過對象來調(diào)用表示針對這個對象要做的操作
  --對象.方法名(參數(shù))
  --在變量名后面輸入.,然后選擇針對這個變量要執(zhí)行的操作,記憶起來閉函數(shù)要簡單的多

以上是“python函數(shù)參數(shù)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI