小編給大家分享一下python函數參數的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
#python中的函數定義,使用和傳參
###------------------- 必要參數 -------------------------------------
必要參數,即函數調用時必須要傳的參數,
#下面進行舉例說明
def helloWorld(a):
print('輸出:hello')
if __name__ == '__main__':
helloWorld("aaa") ## 必須要有參數
##------------ 默認參數 -----------------------------------------------------------
說明:
1.必選參數在前,
2,有多個默認參數時,調用的時候,既可以按順序提供默認參數
3,也可以不按順序提供部分默認參數。當不按順序提供部分默認參數時,需要把參數名寫上
例如:
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')
特別重要:
### 定義默認參數要牢記一點:默認參數必須指向不變對象!
例如:
def add_end(L=[]):
L.append('END')
return L
print (add_end())
print (add_end())
結果:
['END']
['END','END']
原因說明:
Python函數在定義的時候,默認參數L的值就被計算出來了,在每次調用時,L參數已經變前一次調用所更改了,
所以:
避免在函數里面去修改函數的默認參數值。
##--------------------- 關鍵字參數 --------------------------------------------
def about(name,course,site):
print (name,course,site)
about('jim','100','www.baidu.com') ## 必須按順序傳參
about(site='www.baidu.com',name='green',course=100) ##以關健字方式傳入參數(可以不按順序)
##-------------- 不定長參數(可變參數) (這些可變參數在函數調用時自動組裝為一個tuple)-----------------------------------------------------------
顧名思義:
可變參數就是傳入的參數個數是可變的,可以是1個、2個到任意個,還可以是0個。
###重要說明:
(可變參數的好處是,不用事先準備好LIST或者元組)
這些可變參數在函數調用時自動組裝為一個tuple
定義:
def loop(*args):
for x in args:
print x
loop(1,2,3)
結果是:
1
2
3
###說明2:
如果已經有了一個列表或者元組,怎么傳遞可變參數呢??? 如下:
def loop(*args):
for x in args:
print x
loop(1,2,3)
a=[4,5,6]
loop(*a) ## 這里要在列表 或元組 前面加* 連傳遞參數進來。
###------------------- 這也是不定長參數 ----------------------------------------------------------------
說明:
這些關鍵字參數在函數內部自動組裝為一個dict
函數定義:
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
調用1:
>>> person('Michael', 30)
name: Michael age: 30 other: {}
調用2:
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
調用3:
>>> extra = {'city': 'Beijing', 'job': 'Engineer'} ---事先已經有了一個字典
>>> person('Jack', 24, **extra) ---- **extra表示把extra這個dict的所有key-value用關鍵字參數傳入到函數的**kw參數
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
###調用說明:
**extra表示把extra這個dict的所有key-value用關鍵字參數傳入到函數的**kw參數,kw將獲得一個dict,
注意kw獲得的dict是extra的一份拷貝,對kw的改動不會影響到函數外的extra。
##--------------------------------------------ps:下面給大家介紹下python中函數、方法、關鍵字的區別
一、關鍵字
python中一共含有32個關鍵字:'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' --關鍵字-是Python內置的、具有特殊意義的表示符 --使用時關鍵字后面不需要括號
二、函 數
函數是組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段??梢宰约憾x一個函數。
--函數-封裝了獨立功能,可以直接調用
--函數名(參數)
以下是簡單的定義規則:
?函數代碼塊以 def 關鍵詞開頭,后接函數標識符名稱和圓括號()。
?任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用于定義參數。
?函數的第一行語句可以選擇性地使用文檔字符串—用于存放函數說明。
?函數內容以冒號起始,并且縮進。
?return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當于返回 None。
語法:
def functionname( parameters ): "函數_文檔字符串" function_suite return [expression]
案例:
#自定義函數
def function_name (str):
"打印傳入的字符串"
print(str)
return(0);
#調用自定義函數
function_name("自定義函數")
function_name("調用自定義函數")二、方 法
方法-和函數類似,同樣封裝了獨立的功能
-需要通過對象來調用表示針對這個對象要做的操作
--對象.方法名(參數)
--在變量名后面輸入.,然后選擇針對這個變量要執行的操作,記憶起來閉函數要簡單的多
以上是“python函數參數的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。