python 中的引數魔法

2021-07-25 14:16:32 字數 1658 閱讀 1191

life is short ~

python中建立乙個函式有關鍵字def

def

hello

(name):

print

"hello",name

這樣就是乙個函式啦,說說引數有哪幾種方式:

tips:

1.函式內為引數賦新值不會改變外部的任何變數

2.函式內的變數最好跟外部的變數名字不同

1.位置引數:上面的例子就是位置引數

2.關鍵字引數:見名知意會有關鍵字

3.收集引數:乙個引數接受多個值相當於 argv(from sys import argv)

def

hello_again

(name,pre="mr."):

print

"hello",pre,name

result:

>>> hello_again("ashinlee")

hello mr. ashinlee

但是關鍵字引數要在位置引數後面,否則:

>>> def hello_again(pre="mr.",name,):

... print "hello",pre,name

... file "", line 1

syntaxerror: non-default argument follows default argument

當然關鍵字引數如果你給他賦值的話也是可以改變的,只是不賦值的時候給乙個預設值

收集引數需要在位置引數的後面:

def

hello_again

(name,pre="mr.",*num):

print

"hello",pre,name

for n in num:

print n

result:

>>> hello_again("ashinlee","miss",1,2,3,5,6)

hello miss ashinlee12

356miss???? 黑人問號.jpg 演示下關鍵字引數是可以改變的那只是不輸入的預設值

要注意的是如果關鍵字引數和收集引數混用,卻有不輸入關鍵字引數:

>>> hello_again("ashinlee",1,2,3,5,6)

hello 1 ashinlee23

56會出現和預期不符合的情況要注意

收集引數也可以收集關鍵字引數???

>>> def hello_again(name,*num,**age):

... print name

... print num

... print age

...result:

>>> hello_again("ashinlee",1,2,3,5,6,pre="mr.",***="male")

ashinlee

(1, 2, 3, 5, 6)

*num **age 位置不可調動

以上這些就是python的引數魔法啦。

python基礎(函式引數魔法,位置引數)

1.值從 來 定義函式時,你可能心存疑慮 引數的值是怎麼來的呢?編寫函式旨在為當前程式 甚至其他程式 提供服務,你的職責是確保它在提供的引數正確時完成任務,並在引數不對時以顯而易見的方式失敗。為此,通常使用斷言或異常。在def語句中,位於函式名後面的變數通常稱為形參,而呼叫函式時提供的值稱為實參。2...

Python中的魔法函式

在python中,乙個特殊的魔術方法call可以讓類的例項的行為表現的像函式一樣。允許乙個類的例項像函式一樣被呼叫。實質上說,這意味著 x 與 x.call 是相同的。注意call引數可變。這意味著你可以定義call為其他你想要的函式,無論有多少個引數。call在那些類的例項經常改變狀態的時候會非常...

python中引數 Python中的引數

python中的引數 1.python函式引數有多重形式 test arg1,arg2,args test arg1,arg2,args kwargs 2.其中比較糊弄人的是 args和 kwargs args 變長的佔位引數列表 kwargs 變長的鍵值對引數列表 3.什麼是佔位引數 test a...