Python 中星號的使用


Python 程式語言在不同的上下文中使用 * 和 **。在本文中,我們將瞭解這兩種符號的使用方式以及各自的實用場景。

作為中綴運算子

當 * 用作中綴運算子時,它基本上給出數字的數學乘積。在下面的示例中,我們使用整數、浮點數和複數進行乘法並獲得結果。

示例

 即時演示

# Integers
x = 20
y = 10
z = x * y
print(z,"\n")

# Floats
x1 = 2.5
y1 = 5.1
z1 = x1 * y1
print(z1,"\n")

# Complex Numbers
x2 = 4 + 5j
y2 = 5 + 4j
z2 = x2 * y2
print(z2,"\n")

輸出

執行以上程式碼將得到以下結果:

200
12.75
41j

我們也可以將其用作中綴運算子來擴充套件字串。

示例

 即時演示

str = "Point-"
print(str * 4,"\n")
List = [4, 5, 6]
print(List * 3,"\n")
Tuple = (9, 8, 7)
print(Tuple * 2)

輸出

執行以上程式碼將得到以下結果:

Point-Point-Point-Point-
[4, 5, 6, 4, 5, 6, 4, 5, 6]
(9, 8, 7, 9, 8, 7)

作為字首運算子

我們可以使用單個星號作為字首。以下示例描述瞭如何將其用作字首的各種示例。

展開可迭代物件

可以透過在可迭代物件(如列表或元組)的名稱前新增星號來展開它。

示例

 即時演示

week_days =['Mon','Tue','Wed','Thu','Fri']
print(week_days)

輸出

執行以上程式碼將得到以下結果:

Mon Tue Wed Thu Fri

接收可變數量的引數

我們可以使用單個星號符號向函式傳遞可變數量的引數。如下面的程式所示。

示例

 即時演示

def many_sums(*args):
   res = 0
   # Iterating over the Python args tuple
   for x in args:
   res = res + x
   return res
print(many_sums(1, 2))
print(many_sums(11, 21, 30))
print(many_sums(5.5,0))

輸出

執行以上程式碼將得到以下結果:

3
62
5.5

使用 **

雙星號用於基於關鍵字的引數。此處引數作為字典傳遞,而不是作為單個值傳遞。

示例

 即時演示

def join_keys(**kwargs):
   result = ""
   # Iterating over kwargs dictionary keys
   for arg in kwargs.keys():
   result += arg
   return result
def join_values(**kwargs):
   result = ""
   # Iterating over kwargs dictionary values
   for arg in kwargs.values():
   result += arg
   return result
print(join_keys(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-"))
print(join_values(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-"))

輸出

執行以上程式碼將得到以下結果:

day1day2day3day4
Mon-Tue-Wed-Thu-

更新於: 2020年2月4日

207 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.