在函数(*args)中,操作符*的正确名称是什么?打开包,打开拉链,还有别的吗?
当前回答
我相信它通常被称为“splat算子”。它所做的就是解包参数。
其他回答
专业术语叫做变进函数。所以在某种意义上,这是正确的术语,不考虑编程语言。
也就是说,在不同的语言中,这个术语确实有合法的名称。正如其他人所提到的,它在ruby、julia和其他几种语言中被称为“splat”,并在官方文档中以该名称标注。在javascript中,它被称为“扩展”语法。正如在其他答案中提到的,它在许多其他语言中有许多其他的名字。不管你叫它什么,它都很有用!
通俗的叫法是“喷溅”。
对于参数(列表类型)使用单个*,对于关键字参数(字典类型)使用双**。
*和**有时都被称为“喷溅”。
请参阅使用此名称的参考: https://stackoverflow.com/a/47875892/14305096
还可以调用*为集合形参(用于函数参数定义时)或分散运算符(用于函数调用时)。
如下所示:考虑Python/元组/变长参数元组。
我称*args为“星型参数”或“可变参数”,**kwargs为“关键字参数”。
我称之为“位置扩展”,而**我称之为“关键字扩展”。
推荐文章
- Python中的“@=”符号是什么意思?
- read_csv . pandas中的Datetime dtypes
- 在argparse中使用破折号
- 典型的AngularJS工作流程和项目结构(使用Python Flask)
- “str”对象不支持项赋值
- Python中exit(0)和exit(1)的区别
- 从URL中获取参数
- 在python中插入一个列表到另一个列表的语法是什么?
- Python中的最大浮点数是多少?
- 将一个列表分成大约相等长度的N个部分
- Python __str__与__unicode__
- 在python中,del和delattr哪个更好?
- 如何动态加载Python类
- 有没有办法在python中做HTTP PUT
- “foo Is None”和“foo == None”之间有什么区别吗?