python 認識 與 ,判斷函式輸出

2021-08-11 10:57:52 字數 2133 閱讀 1196

**:

[python]view plain

copy

deff1(a, b, c=

0, *args, **kw):  

print

('a='

, a, 

'b='

, b, 

'c='

, c, 

'args='

, args, 

'kw='

, kw)  

deff2(a, b, c=

0, *, d, **kw):  

print

('a='

, a, 

'b='

, b, 

'c='

, c, 

'd='

, d, 

'kw='

, kw)  

f1(1,2

)  f1(1,2

,c=3

)  f1(1,2

,3,'a'

,'b'

)  f1(1,2

,3,'a'

,'b'

,x=99

)  f2(1,2

,d=99

,ext=

none

)  args = (1,2

,3,4

)  kw =   

f1(*args, **kw)  

args = (1,2

,3)  f2(*args, **kw)  

答案:[python]view plain

copy

f1(1,2

)  # a=1 b=2 c=0 arg=() kw={}

f1(1,2

,c=3

)   

#a=1 b=2 c=3 arg=() kw={}

f1(1,2

,3,'a'

,'b'

)  #a=1 b=2 c=3 arg=('a','b') kw={}

f1(1,2

,3,'a'

,'b'

,x=99

)  #a=1 b=2 c=3 arg=('a','b') kw=

f2(1,2

,d=99

,ext=

none

)  #a=1 b=2 c=0 d=99 kw=

f1(*args, **kw)  #a=1 b=2 c=3 arg=(4,) kw= 

f2(*args, **kw)  #a=1 b=2 c=3 d=99 kw = 

考察知識點:python 操作符**與

*的用法

(1) 運算子

**兩個乘號就是乘方,比如2**4,結果就是2的4次方,結果是16

乙個乘號*,如果運算元是兩個數字,就是這兩個數字相乘,如2*4,結果為8

*如果是字串、列表、元組與乙個整數n相乘,返回乙個其所有元素重複n次的同型別物件,比如"str"*3將返回字串"strstrstr"

(2) 函式形參

如果是函式定義中引數前的*表示的是將呼叫時的多個引數放入元組中,**則表示將呼叫函式時的關鍵字引數放入乙個字典中

如定義以下函式

def func(*args):print(args)

當用func(1,2,3)呼叫函式時,引數args就是元組(1,2,3)

定義以下函式

def func(**args):print(args)

當用func(a=1,b=2)呼叫函式時,引數args將會是字典

(3) 函式呼叫

如果是在函式呼叫中,*args表示將可迭代物件擴充套件為函式的引數列表

args=(1,2,3)

func=(*args)

等價於函式呼叫func(1,2,3)

函式呼叫的**表示將字典擴充套件為關鍵字引數

args=

func(**args)

等價於函式呼叫 func(a=1,b=2)

補充:

函式def f2(a, b, c=0, *, d, **kw) 中隔開符*,在python2.7中報錯,在3.4中可識別。

賦值給arg的元組中只有乙個元素時,注意多乙個逗號,如arg=(4,)

python輸出 認識python之輸出(3)

1.普通的輸出 軟體中的 輸出 列印提示 print hello world print 給我的卡 印度語,你好的意思 2.格式化輸出 1 格式化操作的目的比如有以下 pirnt 我今年10歲 pirnt 我今年11歲 pirnt 我今年12歲 在輸出年齡的時候,用了多次 我今年xx歲 能否簡化一下...

python認識函式

出現了大量的if else 和迴圈的巢狀,的結構變得非常複雜,同時 重複量增加。和 之間的依賴性特別強烈 break的位置 函式 目的 簡化 開發,解耦合的一種手段。函式的意義 表示的是生活中的一種行為 行為 動作 行為在什麼時候會執行?人 吃飯的行為,行為只有在呼叫執行的時候才會發生動作。中的函式...

Python物件型別判斷與函式過載

1.判斷物件型別 通過type函式可以知道物件的型別,示例 如下 在寫函式時,時常遇到需要應付不同的引數型別以及不同的引數數量的情況。在c 中,通常定義多個 同名不同參 的函式來過載搞定,但python中的過載可以用另外的方法實現 引數型別判斷 預設值 上面的 定義了乙個函式tracelog,這個函...