Python:无名关键字参数列表

2024-09-26 18:09:34 发布

您现在位置:Python中文网/ 问答频道 /正文

Python函数的参数列表中的孤星“*”是什么意思

我在scikit learn的源代码中找到了它,以前从未见过它。我熟悉位置参数和关键字参数(*args,**varg)的概念。我假设,这里它与_deprecate_positional_args decorator有关,但是在纯Python 3.7中,即使没有decorator,也允许将孤星语法作为函数参数

我的猜测是,这使得不可能将星号后面的任何关键字参数指定为位置参数(对于名为“safe”的参数来说,这实际上是有意义的)

# Part of https://github.com/scikit-learn/scikit-learn.git
# commit 7117a6313791db6f8b737bac28c1f47277a68cfb
# Quoting from sklearn/base.py:
# ...
from .utils.validation import _deprecate_positional_args
# ...

@_deprecate_positional_args
def clone(estimator, *, safe=True):
    """Constructs a new estimator with the same parameters.
    (rest omitted)
    """
# ...

Tags: 函数from列表参数源代码argsdecorator关键字
1条回答
网友
1楼 · 发布于 2024-09-26 18:09:34

我的猜测是,这使得不可能将星号后面的任何关键字参数指定为位置参数(对于名为“safe”的参数来说,这实际上是有意义的)

您是对的,lone*后面的参数称为仅关键字参数,此功能由PEP 3102定义

相关问题 更多 >

    热门问题