当前位置: 首页 > 面试题库 >

Python-函数参数中的星号?

胡嘉歆
2023-03-14
问题内容

函数参数中的星号有什么作用?

当我查看pickle模块时,我看到了:

pickle.dump(obj, file, protocol=None, *, fix_imports=True)

我知道在参数之前(对于可变数量的参数)之前的单星号和双星号,但是在此之前没有。而且我很确定这与泡菜无关。那可能只是这种情况的一个例子。我将其发送给翻译人员时才知道它的名字:

>>> def func(*):
...     pass
...
  File "<stdin>", line 1
SyntaxError: named arguments must follow bare *

如果重要的话,我使用的是python 3.3.0。


问题答案:

Bare *用于强制调用方使用命名参数-因此,如果*没有以下关键字参数,则无法将函数定义为参数。



 类似资料:
  • 函数参数中的星号有什么作用? 当我查看pickle模块时,我看到: 我知道前面的参数有一个单星号和双星号(对于可变数量的参数),但是它没有前面的任何东西。我很确定这和泡菜无关。这可能只是这种情况发生的一个例子。当我把这个发给翻译时,我才知道它的名字: 如果重要的话,我使用的是python 3.3.0。

  • 本文向大家介绍Python 带星号(* 或 **)的函数参数详解,包括了Python 带星号(* 或 **)的函数参数详解的使用技巧和注意事项,需要的朋友参考一下 1. 带默认值的参数 在了解带星号(*)的参数之前,先看下带有默认值的参数,函数定义如下: (1)带默认值的参数(defaultStr、defaultNum)不传参时的调用: (2)带默认值的参数(defaultStr、defaultN

  • 问题内容: 我正在使用以这种方式“拉平”列表列表: 这跟说的有什么不同? 问题答案: 是“ splat”运算符:它接受一个列表作为输入,并将其扩展为函数调用中的实际位置参数。 所以如果,那就 这与传递just显然不同。对于你的情况,你有一个要拼合的列表列表;什么确实是在所有你传递给它的位置参数,其中每个位置参数是在自己的权利迭代拼接返回一个迭代。 换句话说,你希望将每个列表作为参数传递给,这会将它

  • 在通常情况下,定义函数时,函数的参数个数是预先确定的。例如,编写计算两个数相加的函数 add(a, b),代码如下: def add(a, b): return a + b sum = add(1, 2) 在第 1 行,定义了函数 add,函数有两个参数,第 1 个参数是 a,第 2 个参数是 b 在第 2 行,计算参数 a 和 参数 b 的累加和,通过 return 语句将计

  • 本文向大家介绍PowerShell函数参数用星号隐藏的方法,包括了PowerShell函数参数用星号隐藏的方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍在PowerShell中创建函数时,如何让函数的参数输入值的时候自动变成星号。 什么叫自动变成星号呢?举个例子,我们在登录一个邮箱时,输入用户时看到的是明文的,但我们在输入密码时,看到的是一个个增加的星号。在使用PowerShell自定义函

  • 问题内容: 我正在使用itertools.chain以这种方式“拉平”列表列表: 这跟说的有什么不同? 问题答案: 是“ splat”运算符:它接受一个列表作为输入,并将其扩展为函数调用中的实际位置参数。 所以如果是,那就等于说 这与传递just显然不同。对于您的情况,您有一个想要拼合的列表列表;什么确实是在所有你传递给它的位置参数,其中每个位置参数是在自己的权利迭代拼接返回一个迭代。 换句话说,