gpt4 book ai didi

python - 在函数定义中替代星号 (*)

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:53 26 4
gpt4 key购买 nike

当我在函数调用中使用星号时 Pylint 报错

def f(*args):
# Some code

f(1, 2, 3,)

pylint给出的输出:

pylint failed:
Used * or ** magic (star-args)

是否有在函数定义中使用 * 的替代方法,它会呈现相同的结果?

我需要代码通过 pylint 进行验证,因为这是一项学校作业。我不认为这是一个合法的警告,但我必须按照 pylint 所说的去做。

最佳答案

Pylint 是高度可配置的,在涉及某些事情时可能相当麻烦。即使是 star-args (W0142) rule description表明它只是一个警告:

Used * or ** magic. Used when a function or method is called using *args or **kwargs to dispatch arguments. This doesn’t improve readability and should be used with care.

只需禁用您确定使用 *args 的函数的警告是正确的做法,而不是尝试绕过 PyLint:

def f(*args):  # pylint: disable=star-args
# Some code

您唯一的选择是接受您视为序列的一个参数,然后传入一个元组或列表:

def f(arg):
# Some code

f((1, 2, 3))

但我严重怀疑您是否会因为使用 # pylint disable=... 注释而失败。

关于python - 在函数定义中替代星号 (*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28915233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com