在函数(*args)中,操作符*的正确名称是什么?打开包,打开拉链,还有别的吗?
当前回答
专业术语叫做变进函数。所以在某种意义上,这是正确的术语,不考虑编程语言。
也就是说,在不同的语言中,这个术语确实有合法的名称。正如其他人所提到的,它在ruby、julia和其他几种语言中被称为“splat”,并在官方文档中以该名称标注。在javascript中,它被称为“扩展”语法。正如在其他答案中提到的,它在许多其他语言中有许多其他的名字。不管你叫它什么,它都很有用!
其他回答
在Ruby和Perl 6中,这被称为“splat”,我想大多数人都是从 如果你这样称呼它,那些社区就会明白你的意思。
Python教程使用短语“解包参数列表”,即 冗长且具有描述性。
它也被称为可迭代解包,或者在**的情况下, 字典开箱。
专业术语叫做变进函数。所以在某种意义上,这是正确的术语,不考虑编程语言。
也就是说,在不同的语言中,这个术语确实有合法的名称。正如其他人所提到的,它在ruby、julia和其他几种语言中被称为“splat”,并在官方文档中以该名称标注。在javascript中,它被称为“扩展”语法。正如在其他答案中提到的,它在许多其他语言中有许多其他的名字。不管你叫它什么,它都很有用!
还可以调用*为集合形参(用于函数参数定义时)或分散运算符(用于函数调用时)。
如下所示:考虑Python/元组/变长参数元组。
我称之为“位置扩展”,而**我称之为“关键字扩展”。
我说“star-args”,Python人似乎明白我的意思。
**比较棘手——我认为是“qargs”,因为它通常被用作**kw或**kwargs
推荐文章
- 在Python中获取大文件的MD5哈希值
- 在Python格式字符串中%s是什么意思?
- 如何循环通过所有但最后一项的列表?
- python用什么方法避免默认参数为空列表?
- ValueError: numpy。Ndarray大小改变,可能表示二进制不兼容。期望从C头得到88,从PyObject得到80
- Anaconda /conda -安装特定的软件包版本
- 我在哪里调用Keras的BatchNormalization函数?
- 打印测试执行时间并使用py.test锁定缓慢的测试
- 插入一行到熊猫数据框架
- 要列出Pandas DataFrame列
- 在Django模型中存储电话号码的最佳方法是什么?
- 从导入的模块中模拟函数
- 三元算符在R中存在吗?
- 常见的Haskell操作符是否有可发音的名称?
- 滚动或滑动窗口迭代器?