根據引數的位置來傳遞引數,呼叫函式時,傳遞的引數順序和個數必須和定義時完全一致
#定義函式
defman(name, age):
print("
my name is %s,i am %d years old.
" %(name, age))
#呼叫函式
>>> man('
eastonliu
',32)
my name
is eastonliu,i am 32years old.
#呼叫時傳入的引數順序必須和定義時一致
>>> man(32, '
eastonliu')
traceback (most recent call last):
file
"", line 1, in
man(32, '
eastonliu')
file
"", line 2, in
man
print("
my name is %s,i am %d years old.
" %(name, age))
typeerror: %d format: a number is required, not
str#
呼叫時傳入的引數個數必須和定義時一致
>>> man("
eastonliu")
traceback (most recent call last):
file
"", line 1, in
man(
"eastonliu")
typeerror: man() missing 1 required positional argument: '
age'
定義函式時,為引數提供預設值,呼叫函式時,可傳可不傳該預設引數的值。如果不傳就取預設值,傳了的話就取傳入的值。定義和呼叫函式時,所有位置引數必須在預設引數前面
#正確的定義方式
def man(name, age=18):
print("
my name is %s,i am %s years old.
" %(name, age))
#錯誤的定義方式
def man(age=18, name):
print("
my name is %s,i am %s years old.
" %(age, name))
#呼叫時預設引數不傳則取預設引數
>>> man("
eastonliu")
my name
is eastonliu,i am 18years old.
#呼叫時預設引數傳值則取傳入的值
>>> man("
eastonliu
",32)
my name
is eastonliu,i am 32 years old.
呼叫函式時,通過「鍵-值」形式指定引數
#定義函式
defman(name, age):
print("
my name is %s,i am %d years old.
" %(name, age))
#呼叫函式
>>> man(name="
eastonliu
",age=32)
my name
is eastonliu,i am 32years old.
#關鍵字引數不分順序
>>> man(age=32, name="
eastonliu")
my name
is eastonliu,i am 32years old.
#位置引數必須在關鍵字引數前面
>>> man("
eastonliu
",age=32)
my name
is eastonliu,i am 32years old.
>>> man(name="
eastonliu
",32)
syntaxerror: positional argument follows keyword argument
在函式定義的時候,用*和**來收集位置引數和關鍵字引數,這樣使用者在呼叫函式時,可以給函式提供任意多的引數
def print_params(*params):(params)#呼叫
>>> print_params(1,2,3,4,5)
(1, 2, 3, 4, 5)
def print_params(**params):(params)#呼叫
>>> print_params(x=1,y=2,z=3)
#聯合使用
def print_params(x,y,z=6,*pospar,**keypar):
(x,y,z)
(pospar)
(keypar)
>>> print_params(1,2,3,8,9,10,foo=12,bar=16)
1 2 3(8, 9, 10)
在呼叫函式的時候,使用*和**來解包元組或字典形式引數
defadd_demo(a,b,c)
print(a+b+c)
#解包元組
>>> params=(1,2,3)
>>> add_demo(*params)6#
解包字典
>>> d =
>>> add_demo(**d)
6
Python3學習筆記 三 函式
在python中,一切皆為物件,函式也可以賦給乙個變數,就是指向乙個函式物件的引用,相當於給這個函式起了乙個 別名 a max a 1,2,3 3 a 123 可以對可迭代物件進行操作 3 函式的定義 def power x,n 2 可以計算計算x4 x5 s 1 while n 0 n n 1s ...
Python3學習筆記(十四) 函式
函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。函式能提高應用的模組性,和 的重複利用率。已經知道python提供了許多內建函式,比如print 但你也可以自己建立函式,這被叫做使用者自定義函式。規則如下 python定義函式使用def關鍵字,一般格式如下 def 函式名 引數列表 ...
Python3學習筆記
最近在起步學python,聚合一下這個過程中蒐集的資源和對一些基本知識做個小總結,語法基於python3,方便以後查詢。python官方文件 不錯的基礎課程 基本語法 演算法 建模 練習 以下是整理常用可能遺忘的基礎點 python3中的輸入是input 獲得使用者輸入的字串 a input ple...