the5fire的技术博客

关注python、vim、linux、web开发和互联网--life is short, we need python.


Python3中的Iterable Unpacking

作者:the5fire | 标签:   | 发布:2013-08-08 6:06 a.m. | 阅读量: 6197, 6084

python星号表达式 (star expressions)是今天在2013新版的《python cookbook》中看到的第一个例子,这本书是基于Python3.3的。

所谓的“星号表达式”其实就是对可迭代数据的unpacking(拆箱),记得在C#中也有装箱(boxing)和拆箱(unboxing)的概念。不同于C#中是对值类型进行改变的行为,python3中的这个拆箱是对slice的增强。

代码胜千言:

# python2.x:
seq = range(10)
a, b = seq[0], seq[1:]

# python3:
seq = range(10)
a, *b = seq

这样一个表达式让可迭代数据类型操作起来变得更加灵活了,可惜要用的话只能到Python3.x了。这本新的cookbook应该也是对Python3的推动。

什么时候才能正式拥抱Python3.x呢?恐怕得先看看这个: PYTHON 3 WALL OF SUPERPOWERS (墙外, 展示哪些包已经支持了Py3)

新版的cookbook在线电子书地址在我的 导航 中有。

参考:


----EOF-----

扫码关注,或者搜索微信公众号:码农悟凡

【上一篇】 Django Code of Conduct
【下一篇】 Python代码规范之import

其他分类: