【发布时间】:2015-03-08 12:54:36
【问题描述】:
在 python 文档中,它说:
只要参数名称之一匹配,任何函数参数,无论是非可选的还是可选的(具有默认值)都可以作为关键字参数调用。但是,关键字参数必须跟在所有位置参数之后。
我试过了:
kwargs = {'step':-1, 'start':10, 'stop':5}
list(range(**kwargs))
但是python给男人一个错误:
TypeError: range() takes no keyword arguments
这是为什么?
【问题讨论】:
-
那么现在的问题是什么?很明显
range() takes no keyword arguments -
您在哪里找到了该文本?除了这篇文章,我找不到它的任何参考。
-
我无法在 Python 文档(包括教程)中找到任何使用您在此处引用的措辞的任何文本。能否提供一下出处?
-
如你所知,真正的答案是
range是一个 C 函数,由于某种原因它没有与 python 相同的规则(很高兴知道为什么)。人们可能会因为我的建议而讨厌我,但我之所以这样做是为了范围,因为我对事物的顺序有一个糟糕的记忆。 Imo 这应该不是问题,所以我正在修复它:range(*{'start':0,'stop':10,'step':2}.values())
标签: python