首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数调用之外的星号

函数调用之外的星号
EN

Stack Overflow用户
提问于 2013-06-11 13:49:23
回答 1查看 927关注 0票数 5

我冒险进入巨蟒,我有一个关于星号的问题。我知道它们用于函数调用中的参数,但我看到了在函数卡之外使用它们的代码片段(例如,在5个级别的元组中,将它们解压缩为变量,如:

first, *middle, last = grades

每当我试图在这个上下文/上下文中从函数调用的参数中使用星号时,解释器中的语法就会无效。我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-06-11 13:53:57

Python3增加了扩展元组解压缩功能,支持一个通配符,请参阅PEP 3132

代码语言:javascript
复制
*start, tail = ...
head, *middle, tail =  ...

请参阅assignment statements参考文档:

如果目标列表包含一个以星号为前缀的目标,称为“星号”目标:该对象必须是一个序列,其项至少与目标列表中的目标一样多,减去一个。序列的第一项从左到右分配给星目标之前的目标。序列的最后项被分配给在星目标之后的目标。然后将序列中剩余项的列表分配给星型目标(列表可以是空的)。

在赋值的左边(目标列表)使用asterix是Python 2中的语法错误。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17045816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档