日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python赋值、打包和解包,90%人不清楚的知识点!

發(fā)布時間:2024/9/15 python 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python赋值、打包和解包,90%人不清楚的知识点! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? 人生苦短,快學Python!

關于賦值、打包和解包這 3個概念,我覺得有必要做一個分享,因為很多朋友確實不清楚。

如果有這樣一個元組t:

>>?t?=?('foo',?'bar',?'baz',?'qux')

發(fā)生這種情況時,就好像元組中的項目已被“打包”到對象中。我們可以通過索引,獲取其中的元素。

>>>?t ('foo',?'bar',?'baz',?'qux') >>>?t[0] 'foo' >>>?t[-1] 'qux'

如果隨后將該“打包”對象分配給新元組,則各個項目將“解包”到元組中的對象中。我們來演示一下:

>>>?(s1,?s2,?s3,?s4)?=?t >>>?s1 'foo' >>>?s2 'bar' >>>?s3 'baz' >>>?s4 'qux'

解包時,左側的變量數(shù)必須與元組中的值數(shù)相匹配,否則會報錯。

>>>?(s1,?s2,?s3)?=?t Traceback?(most?recent?call?last):File?"<pyshell#16>",?line?1,?in?<module>(s1,?s2,?s3)?=?t ValueError:?too?many?values?to?unpack?(expected?3)>>>?(s1,?s2,?s3,?s4,?s5)?=?t Traceback?(most?recent?call?last):File?"<pyshell#17>",?line?1,?in?<module>(s1,?s2,?s3,?s4,?s5)?=?t ValueError:?not?enough?values?to?unpack?(expected?5,?got?4)

打包和解包,也可以合并為一個語句以進行復合賦值。

>>>?(s1,?s2,?s3,?s4)?=?('foo',?'bar',?'baz',?'qux') >>>?s1 'foo' >>>?s2 'bar' >>>?s3 'baz' >>>?s4 'qux'

同樣,賦值左側元組中的元素數(shù)量必須等于右側的數(shù)量。

>>>?(s1,?s2,?s3,?s4,?s5)?=?('foo',?'bar',?'baz',?'qux') Traceback?(most?recent?call?last):File?"<pyshell#63>",?line?1,?in?<module>(s1,?s2,?s3,?s4,?s5)?=?('foo',?'bar',?'baz',?'qux') ValueError:?not?enough?values?to?unpack?(expected?5,?got?4)

在像這樣的賦值和少數(shù)其他情況下,Python允許省略通常用于表示元組的括號。

>>>?t?=?1,?2,?3 >>>?t (1,?2,?3)>>>?x1,?x2,?x3?=?t >>>?x1,?x2,?x3 (1,?2,?3)>>>?x1,?x2,?x3?=?4,?5,?6 >>>?x1,?x2,?x3 (4,?5,?6)>>>?t?=?2, >>>?t (2,)

編程時經(jīng)常有兩個變量需要交換其值。在大多數(shù)編程語言中,有必要在交換發(fā)生時將其中一個值存儲在臨時變量中,如下所示:

>>>?a?=?'foo' >>>?b?=?'bar' >>>?a,?b ('foo',?'bar')>>>?temp?=?a >>>?a?=?b >>>?b?=?temp>>>?a,?b ('bar',?'foo')

在 Python 中,交換可以通過單個元組賦值來完成。

>>>?a?=?'foo' >>>?b?=?'bar' >>>?a,?b ('foo',?'bar')>>>?a,?b?=?b,?a>>>?a,?b ('bar',?'foo')

這種操作語法足夠精簡,是Java等語言,無法比擬的。

各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦!(歡迎提建議)

推薦閱讀

牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)

牛逼!Python的判斷、循環(huán)和各種表達式(長文系列第②篇)

牛逼!Python函數(shù)和文件操作(長文系列第③篇)

牛逼!Python錯誤、異常和模塊(長文系列第④篇)

總結

以上是生活随笔為你收集整理的Python赋值、打包和解包,90%人不清楚的知识点!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。