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

Python3.8對可迭代解包的改進及用法詳解

 更新時間:2019年10月15日 08:35:02   作者:小明明  
這篇文章主要介紹了Python3.8對可迭代解包的改進及用法詳解,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下

Python 3 的可迭代解包

在 PEP 3132 - Extended Iterable Unpacking 里面描述了一種對可迭代對象的解包用法,Python 3 可用:

In : a, *b, c = range(5)
In : a, c
Out: (0, 4)
In : b
Out: [1, 2, 3]
In : *a, = range(5)
In : a
Out: [0, 1, 2, 3, 4]
In : for a, *b in [(1, 2, 3), (4, 5, 6, 7)]:
...:   print(b)
...:
[2, 3]
[5, 6, 7]

挺方便的,ES6 也有對應(yīng)的destructuring assignment語法實現(xiàn)解包數(shù)組,不過人家實現(xiàn)的更徹底,還可以解包對象。

不過在 Python 3.2 時引入了一個 BUG??匆粋€例子:

In : def a():
...:   rest = (4, 5, 6)
...:   t = 1, 2, 3, *rest
...:   return t
...:

In : for i in a():
...:   print(i)
...:

其實這是一個非常簡化的寫法,要不然需要把 1,2,3 放在一個元組中,再 + rest:

In : (1, 2, 3) + (3, 4, 5, 6)
Out: (1, 2, 3, 4, 5, 6)

但是上面這個例子稍微改一下:

In : def b():
...:   rest = (4, 5, 6)
...:   return 1, 2, 3, *rest
File "<ipython-input-38-b5a7115853e2>", line 3
 return 1, 2, 3, *rest
          ^
SyntaxError: invalid syntax

不用變量 t, 直接返回就會拋 SyntaxError,另外就是 yield (當(dāng)然要注意 return 和 yield 本身的意見不同啊):

In : def c():
...:   rest = (4, 5, 6)
...:   yield 1, 2, 3, *rest
File "<ipython-input-39-cf6991fcff64>", line 3
 yield 1, 2, 3, *rest
          ^
SyntaxError: invalid syntax
Python 3.8

在 Python 3.8,修復(fù)了這個問題:

>>> def b():
...   rest = (4, 5, 6)
...   return 1, 2, 3, *rest
...
>>> for i in b():
...   print(i)
...
>>> def c():
...   rest = (4, 5, 6)
...   yield 1, 2, 3, *rest
...
>>> for i in c():
...   print(i)
...
(1, 2, 3, 4, 5, 6)

你學(xué)到了么?

延伸閱讀

總結(jié)

以上所述是小編給大家介紹的Python3.8對可迭代解包的改進及用法詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • python不等于運算符的具體使用

    python不等于運算符的具體使用

    在Python語言中,用 != 表示不等于,本文主要介紹了python不等于運算符的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Python內(nèi)存池機制的實現(xiàn)

    Python內(nèi)存池機制的實現(xiàn)

    Python內(nèi)存池是Python解釋器為了提高內(nèi)存分配效率而設(shè)計的一種內(nèi)存管理機制,本文主要介紹了Python內(nèi)存池機制的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • python實現(xiàn)測試工具(二)——簡單的ui測試工具

    python實現(xiàn)測試工具(二)——簡單的ui測試工具

    這篇文章主要介紹了python如何實現(xiàn)簡單的ui測試工具,幫助大家更好的利用python進行測試工作,感興趣的朋友可以了解下
    2020-10-10
  • python中extend函數(shù)舉例詳解以及對比

    python中extend函數(shù)舉例詳解以及對比

    Python中的extend函數(shù)是用于將一個列表的元素添加到另一個列表中,它會將第一個列表中的元素逐個添加到第二個列表的末尾,這篇文章主要給大家介紹了關(guān)于python中extend函數(shù)舉例詳解以及對比的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Python 查看文件的編碼格式方法

    Python 查看文件的編碼格式方法

    下面小編就為大家分享一篇Python 查看文件的編碼格式方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Python urlopen()參數(shù)代碼示例解析

    Python urlopen()參數(shù)代碼示例解析

    這篇文章主要介紹了Python urlopen()參數(shù)代碼示例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • linux 下python多線程遞歸復(fù)制文件夾及文件夾中的文件

    linux 下python多線程遞歸復(fù)制文件夾及文件夾中的文件

    這篇文章主要介紹了linux 下python多線程遞歸復(fù)制文件夾及文件夾中的文件,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Python自動打印被調(diào)用函數(shù)變量名及對應(yīng)值?

    Python自動打印被調(diào)用函數(shù)變量名及對應(yīng)值?

    這篇文章主要介紹了Python自動打印被調(diào)用函數(shù)的變量名及對應(yīng)的值,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價,需要的朋友可以參考一下?
    2022-07-07
  • 介紹Python的Django框架中的QuerySets

    介紹Python的Django框架中的QuerySets

    這篇文章主要介紹了Python的Django框架中的QuerySets,QuerySet是Django中的一個內(nèi)置對象列表,經(jīng)常被用于數(shù)據(jù)庫操作,需要的朋友可以參考下
    2015-04-04
  • python讀取word 中指定位置的表格及表格數(shù)據(jù)

    python讀取word 中指定位置的表格及表格數(shù)據(jù)

    這篇文章主要介紹了python讀取word 中指定位置的表格及表格數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-10-10

最新評論

鹤峰县| 永丰县| 全椒县| 攀枝花市| 会理县| 彰化市| 青阳县| 白水县| 晋宁县| 乌兰县| 阳信县| 建水县| 许昌县| 锦州市| 鹤岗市| 教育| 洛隆县| 宁津县| 新野县| 临漳县| 石嘴山市| 从江县| 明水县| 临沭县| 海淀区| 资源县| 福贡县| 阿克| 磐安县| 永福县| 华坪县| 水富县| 清涧县| 屏东市| 绥江县| 常熟市| 嵊州市| 卢氏县| 丹寨县| 湘阴县| 县级市|