在函数(*args)中,操作符*的正确名称是什么?打开包,打开拉链,还有别的吗?
当前回答
我说“star-args”,Python人似乎明白我的意思。
**比较棘手——我认为是“qargs”,因为它通常被用作**kw或**kwargs
其他回答
在Ruby和Perl 6中,这被称为“splat”,我想大多数人都是从 如果你这样称呼它,那些社区就会明白你的意思。
Python教程使用短语“解包参数列表”,即 冗长且具有描述性。
它也被称为可迭代解包,或者在**的情况下, 字典开箱。
我相信它通常被称为“splat算子”。它所做的就是解包参数。
通俗的叫法是“喷溅”。
对于参数(列表类型)使用单个*,对于关键字参数(字典类型)使用双**。
*和**有时都被称为“喷溅”。
请参阅使用此名称的参考: https://stackoverflow.com/a/47875892/14305096
Python教程简单地称之为“*-操作符”。它执行任意参数列表的解包。
专业术语叫做变进函数。所以在某种意义上,这是正确的术语,不考虑编程语言。
也就是说,在不同的语言中,这个术语确实有合法的名称。正如其他人所提到的,它在ruby、julia和其他几种语言中被称为“splat”,并在官方文档中以该名称标注。在javascript中,它被称为“扩展”语法。正如在其他答案中提到的,它在许多其他语言中有许多其他的名字。不管你叫它什么,它都很有用!
推荐文章
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 没有名为'django.core.urlresolvers'的模块
- 蟒蛇导出环境文件
- Django - makemigrations -未检测到任何更改
- SQLAlchemy:引擎、连接和会话差异
- 在Python Pandas中删除多个列中的所有重复行
- 更改pandas DataFrame中的特定列名
- 将Pandas多索引转换为列
- 熊猫在每组中获得最高的n个记录
- 熊猫数据帧得到每组的第一行