參考:大佬的鏈結
在學習python中遇到運用**
呼叫dict(字典)的情況,
當時沒懂dict與tuple(元組)的區別,自己測試直接呼叫函式或者是用*呼叫都不可實現,
於是查了許多大佬的解釋,
得出下面關於*
與**
的區別。
*
表示乘號
**
表示乘方
a=2*
3print
(a)
run:
6
a=2*
*3print
(a)run:
8
其中的兩個關鍵字。其實並不是必須寫成*arg
和*kwargs
。*
才是必須的. 你也可以寫成*a
和*k
。
而寫成*arg
和*kwargs
只是一種通俗命名約定。
真實傳給函式的引數,叫實參。
實參可以是:常量、變數、表示式、函式等。無論實參是何種型別的量,在進行函式呼叫時,它們必須有確定的值,以便把這些值傳送給形參。
當函式的形參是固定長度時候,可以用*arg
或者是**kwargs
呼叫函式,類似對元組和字典的解引用。
kwargs =
fun(
**kwargs)
def fun
(data0,data1,data2)
:print
(data0)
print
(data1)
print
(data2)
run: abcd
12
args =
("abcd",1
,2)fun
(*arg)
def fun
(data0,data1,data2)
:print
(data0)
print
(data1)
print
(data2)
run: abcd
12
形式引數是指函式名後括號中的變數。
因為形式引數只有在函式被呼叫的過程中才例項化(分配記憶體單元),所以叫形式引數。形式引數當函式呼叫完成之後就自動銷毀了。因此形式引數只在函式中有效。
*arg
和*kwargs
的區別,兩者都是 python 中的可變引數:
其中只有用到*
,沒有用到** 這有些跑題了
如果想進一步學習的
可以閱讀另外一篇大佬文章
python3 序列解包
ps:蹲家一時爽,一直蹲就不爽了。希望疫情快點過吧。
python 運算子 Python運算子
python語言支援以下型別的運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 1 算術運算子 加號 減號 乘 除 取餘 乘方 整除 1 其中除號 要注意 在python2中,用作整除。解決方法有三 1 兩個相除的數中有乙個為實數。2 ...
python 運算子 python(運算子)
一 運算子 1.算數運算子 1 加 注意 字串與整數之間不能進行相加,需要通過str 或int 進行轉換資料型別 整數與整數相加 1 1 浮點數與浮點數相加 2.0 2.0 4.0 二進位制儲存精度誤差 1.1 1.3 2.4000000000000004 整數與浮點數相加 2 2.0 4.0字串之...
python運算子中 Python中的運算子
python中的運算子 數 算符 比較運算子 邏輯運算子 賦值運算子 1.數 算符 乘法 除法 取模 取餘 求餘數 整除 冪運算 1 和數學中的功能一模一樣,沒有區別 print 1 1 print 1 1 print 1 1 注意 的結果是浮點數。print 1 1 1.0 print 5 2 2...