溫馨提示×

溫馨提示×

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

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

詳解python中*號的用法

發(fā)布時間:2020-09-28 19:47:25 來源:腳本之家 閱讀:1689 作者:genous110 欄目:開發(fā)技術

1、表示乘號

2、表示倍數(shù),例如:

def T(msg,time=1):
  print((msg+' ')*time)

T('hi',3)

打印結果(打印3次):

hi hi hi

3、單個 * (1)、如:*parameter是用來接受任意多個參數(shù)并將其放在一個元組中。

>>> def demo(*p):
  print(p)
>>> demo(1,2,3)
(1, 2, 3)

(2)、函數(shù)在調用多個參數(shù)時,在列表、元組、集合、字典及其他可迭代對象作為實參,并在前面加 *

如 *(1,2,3)解釋器將自動進行解包然后傳遞給多個單變量參數(shù)(參數(shù)個數(shù)要對應相等)。

>>> def d(a,b,c):
  print(a,b,c)

  
>>> d(1,2,3)

1 2 3

>>> a=[1,2,3]
>>> b=[1,2,3]
>>> c=[1,2,3]
>>> d(a,b,c)

[1, 2, 3] [1, 2, 3] [1, 2, 3]

>>> d(*a)
1
1 2 3

提示:序列解包要在關鍵參數(shù)和 **參數(shù) 之前進行處理

4、兩個 ** 如: **parameter用于接收類似于關鍵參數(shù)一樣賦值的形式的多個實參放入字典中(即把該函數(shù)的參數(shù)轉換為字典)。

>>> def demo(**p):
  for i in p.items():
    print(i)
   
>>> demo(x=1,y=2)
(‘x', 1)
(‘y', 2)

知識點擴展:python中星號(*)和雙星號(**)的用法

第一種情況:用在兩表達式的中間,*表示乘法,**表示取冪,如:

>>> 2*5
10
>>> 2**7
128

第二種情況:用在變量的前面。

1,向函數(shù)傳遞參數(shù),將變量中可迭代對象的元素拆解出來,作為獨立的參數(shù)第傳給函數(shù),如:

>>> a=[1,2,3,4]
>>> print(*a,sep='\n')

>>> print(a[0],a[1],a[2],a[3],sep='\n')

>>>

 對于**,變量為字典,將其拆解出來,單獨傳給函數(shù)。如:

>>> dic={'a':1,'b':2,'c':3} 
>>> string='{a}--{c}'.format(**dic)  
>>> string  
'1-2-3'
>>> 
 

2,在函數(shù)定義中使用,收集參數(shù)。將參數(shù)捕捉到一個元組中,如:

>>> def sum(*num):
   return num
 
>>> sum(1,3,5,7)   
(1, 3, 5, 7)
>>> 
 

該用法允許我們創(chuàng)建自己的函數(shù)時,可以接收任意數(shù)量的參數(shù)。

雙星號可以將參數(shù)捕捉到字典中,如:

>>> def pack(**dic):
   return dic
 
>>> pack(a=1,b=2,c=3)  
{'a': 1, 'b': 2, 'c': 3}
>>> 

總結

以上所述是小編給大家介紹的python中*號的用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節(jié)

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

AI