最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?變量教程之打包和解包參數(shù)

 更新時間:2022年08月17日 14:21:59   作者:海擁  
這篇文章主要介紹了Python?變量教程之打包和解包參數(shù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

前言:

我們使用兩個運算符 *(用于元組)和 **(用于字典)。

背景 

考慮這樣一種情況,我們有一個接收四個參數(shù)的函數(shù)。我們想調(diào)用這個函數(shù),我們有一個大小為 4 的列表,其中包含函數(shù)的所有參數(shù)。如果我們只是將一個列表傳遞給函數(shù),則調(diào)用不起作用。

# 一個演示打包和解包需求的 Python 程序

# 一個接受 4 個參數(shù)并打印它們的示例函數(shù)。
def fun(a, b, c, d):
	print(a, b, c, d)

# 驅(qū)動程序代碼
my_list = [1, 2, 3, 4]

# 這不起作用
fun(my_list)

輸出 :

TypeError: fun() takes exactly 4 arguments (1 given)

解 

包我們可以使用 ***** 來解包列表,以便它的所有元素都可以作為不同的參數(shù)傳遞。

# 一個帶有 4 個參數(shù)并打印的示例函數(shù),
def fun(a, b, c, d):
	print(a, b, c, d)

# 驅(qū)動程序代碼
my_list = [1, 2, 3, 4]

# 將列表解壓縮為四個參數(shù)
fun(*my_list)

輸出 :

(1, 2, 3, 4)

我們需要記住,參數(shù)的數(shù)量必須與我們?yōu)閰?shù)解包的列表的長度相同。

# 當(dāng) len(args) != 函數(shù)所需的實際參數(shù)沒有時出錯

args = [0, 1, 4, 9]
def func(a, b, c):
	return a + b + c
# 使用解包參數(shù)調(diào)用函數(shù)
func(*args)

輸出:

Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in <module>
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given

作為另一個示例,考慮需要單獨的開始和停止參數(shù)的內(nèi)置 range() 函數(shù)。如果它們不能單獨使用,請使用 *-operator 編寫函數(shù)調(diào)用以將參數(shù)從列表或元組中解包出來:

>>>
>>> range(3, 6) # 帶有單獨參數(shù)的正常調(diào)用
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args) # 使用從列表中解包的參數(shù)調(diào)用
[3, 4, 5]

Packing 

當(dāng)我們不知道需要將多少個參數(shù)傳遞給 python 函數(shù)時,我們可以使用 Packing 將所有參數(shù)打包到一個元組中。

# 演示打包使用的 Python 程序

# 此函數(shù)使用打包來匯總未知數(shù)量的參數(shù)
def mySum(*args):
	return sum(args)

# 驅(qū)動程序代碼
print(mySum(1, 2, 3, 4, 5))
print(mySum(10, 20))

輸出:

15 
30

上述函數(shù) mySum() 執(zhí)行“打包”以將此方法調(diào)用接收到的所有參數(shù)打包到一個變量中。一旦我們有了這個“打包”變量,我們就可以用它來做我們用普通元組做的事情。args[0] 和 args[1] 會分別給你第一個和第二個參數(shù)。由于我們的元組是不可變的,您可以將 args 元組轉(zhuǎn)換為列表,以便您還可以修改、刪除和重新排列 i 中的項目。

打包和拆包 

下面是一個顯示打包和拆包的示例。

# 一個 Python 程序,用于演示打包和解包。

# 一個示例 python 函數(shù),它接受三個參數(shù)并打印它們
def fun1(a, b, c):
	print(a, b, c)

# 另一個示例函數(shù)。
# 這是包裝的一個例子。 傳遞給 fun2 的所有參數(shù)都打包到元組 *args 中。
def fun2(*args):

	# 將 args 元組轉(zhuǎn)換為列表,以便我們修改它
	args = list(args)

	# 修改參數(shù)
	args[0] = 'Haiyong'
	args[1] = 'awesome'

	# 拆包參數(shù)并調(diào)用 fun1()
	fun1(*args)

# 驅(qū)動程序代碼
fun2('Hello', 'beautiful', 'world!')

輸出:

(Haiyong, awesome, world!)

用于字典

# 演示使用 ** 解包字典項的示例程序
def fun(a, b, c):
	print(a, b, c)

# 解包字典的調(diào)用
d = {'a':2, 'b':4, 'c':10}
fun(**d)

輸出:

2 4 10

這里 ** 解壓了與它一起使用的字典,并將字典中的項目作為關(guān)鍵字參數(shù)傳遞給函數(shù)。所以寫“fun(1, **d)”就相當(dāng)于寫“fun(1, b=4, c=10)”。

# 一個 Python 程序,用于演示使用 ** 打包字典項
def fun(**kwargs):

	# kwargs 是一個字典
	print(type(kwargs))

	# 打印字典項目
	for key in kwargs:
		print("%s = %s" % (key, kwargs[key]))

# 驅(qū)動程序代碼
fun(name="geeks", ID="101", language="Python")

輸出:

<class 'dict'>
name = geeks
ID = 101
language = Python

應(yīng)用和要點 :

  • 在套接字編程中用于向服務(wù)器發(fā)送大量請求。
  • 在 Django 框架中用于將變量參數(shù)發(fā)送到視圖函數(shù)。
  • 有些包裝函數(shù)需要我們傳入可變參數(shù)。
  • 參數(shù)的修改變得容易,但同時驗證不正確,因此必須小心使用它們。

到此這篇關(guān)于Python 變量教程之打包和解包參數(shù)的文章就介紹到這了,更多相關(guān)Python 打包解包參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django框架教程之中間件MiddleWare淺析

    Django框架教程之中間件MiddleWare淺析

    這篇文章主要給大家介紹了關(guān)于Django框架教程之中間件MiddleWare的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Django框架具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Opencv實現(xiàn)傾斜圖片轉(zhuǎn)正示例

    Opencv實現(xiàn)傾斜圖片轉(zhuǎn)正示例

    本文主要介紹了Opencv實現(xiàn)傾斜圖片轉(zhuǎn)正示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • tensorflow輸出權(quán)重值和偏差的方法

    tensorflow輸出權(quán)重值和偏差的方法

    本篇文章主要介紹了tensorflow輸出權(quán)重值和偏差的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 簡單的抓取淘寶圖片的Python爬蟲

    簡單的抓取淘寶圖片的Python爬蟲

    這篇文章主要介紹了簡單的抓取淘寶圖片的Python爬蟲,方法比較簡單,推薦給小伙伴們參考下。
    2014-12-12
  • python用pip install時安裝失敗的一系列問題及解決方法

    python用pip install時安裝失敗的一系列問題及解決方法

    這篇文章主要介紹了python用pip install時安裝失敗的一系列問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • python數(shù)據(jù)封裝json格式數(shù)據(jù)

    python數(shù)據(jù)封裝json格式數(shù)據(jù)

    本次內(nèi)容是小編在網(wǎng)上整理的關(guān)于如何python數(shù)據(jù)封裝json格式的內(nèi)容總結(jié),有興趣的讀者們參考下。
    2018-03-03
  • Python學(xué)習(xí)之異常處理詳解

    Python學(xué)習(xí)之異常處理詳解

    正常情況下,我們的程序是自上而下的逐行執(zhí)行,執(zhí)行到最后一行才會終止程序的執(zhí)行。而異常的情況會導(dǎo)致我們的程序半途而廢停止了執(zhí)行。本文將通過示例詳細(xì)講解Python中的異常處理,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • python中entry用法講解

    python中entry用法講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python中entry用法講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-12-12
  • Python二叉樹的定義及常用遍歷算法分析

    Python二叉樹的定義及常用遍歷算法分析

    這篇文章主要介紹了Python二叉樹的定義及常用遍歷算法,結(jié)合實例形式分析了基于Python的二叉樹定義與先序、中序、后序、層序等遍歷方法,需要的朋友可以參考下
    2017-11-11
  • Python入門教程(三十一)Python的Try和Except

    Python入門教程(三十一)Python的Try和Except

    這篇文章主要介紹了Python入門教程(三十一)Python的Try Except,當(dāng)我們調(diào)用Python并發(fā)生錯誤或異常時,通常會停止并生成錯誤消息,
    可以使用try語句處理這些異常,需要的朋友可以參考下
    2023-05-05

最新評論

迁西县| 西青区| 顺平县| 日照市| 五峰| 泰顺县| 武胜县| 大理市| 丰台区| 乐清市| 营口市| 卓尼县| 陆良县| 三台县| 潮安县| 盱眙县| 闻喜县| 宕昌县| 毕节市| 安陆市| 长春市| 德江县| 白城市| 苗栗市| 乐都县| 西充县| 青浦区| 南投县| 崇仁县| 英超| 凤山县| 九江县| 托里县| 隆回县| 翼城县| 德化县| 微博| 政和县| 苗栗县| 阿拉善右旗| 和硕县|