Python 星號 * 的各種用法
分類
建立時間: 2023年1月20日 03:19
更新時間: 2023年1月20日 11:16
說明
因為我常常看到很多 * 除了當作乘法之外,還有作為函式參數、引數,久了沒看到又忘記這是幹嘛的,所以特別寫一篇紀錄 * 的用途
乘法
大家應該都知道 * 最常用來乘法
data = 9 * 9
print(data)
輸出
81
冪運算子
如同數學的次方運算,只要在運算式中使用 ** 就可以做為冪運算
data = 9 ** 2
print(data)
輸出
81
重複運算子
有些資料型態搭配 * 就會當成重複運算子,以下提供幾個範例讓大家了解
重複字串
字串 * n 就是重複 n 遍
hi = 'hi '
print(hi * 3)
輸出
hi hi hi
* 還有一個用途就是拿來畫聖誕樹 :)
for i in range (1, 6):
empty_count = 5 - i
asterisk_count = 2 * i - 1
print (" " * empty_count, end = '')
print ("*" * asterisk_count)
輸出
*
***
*****
*******
*********
重複串列
你可以用 * 初始化一個全部都是0的串列
empty_list = [0] * 5
print (empty_list)
輸出
[0, 0, 0, 0, 0]
位置引數 (positional argument)
打包
在函式的參數前加上 * 這可以將剩下的參數都打包在那個變數裡
# 打包
def print_args(*args):
for arg in args:
print(arg)
# 呼叫函式
print_args(1, 2, 3)
輸出
1
2
3
拆包
使用 * 將可迭代物件當作位置引數進行拆解
def print_args(a, b, c):
print(a, b, c)
numbers = [1, 2, 3]
# 拆包
print_args(*numbers)
輸出
1 2 3
關鍵字引數 (keyword argument)
打包
在函式的參數前加上 ** 這可以將剩下的關鍵字參數都打包在那個變數裡
# 打包
def print_args(**kwargs):
for key, value in kwargs.items():
print(f"{key} = {value}")
# 呼叫函式
print_args(a=1, b=2, c=3)
輸出
a = 1
b = 2
c = 3
注意如果同時有位置引數 *args
和關鍵字引數 **kwargs
,*args
要放在前面
def f(*args, **kwargs):
pass
拆包
使用 ** 拆解字典當作關鍵字引數
def add_numbers(a, b, c):
return a + b + c
kwargs = {'a': 1, 'b': 2, 'c': 3}
# 關鍵字引數拆包
print(add_numbers(**kwargs))
輸出
6
參考
觀看次數: 2711
argumentasteriskkeywordmultiplicationpackingparameterpositionpythonrepetitionstarunpacking重複運算子乘法關鍵字引數參數星號
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!