当前位置: 首页 > 知识库问答 >
问题:

参数命名与Python冲突

伊羽
2023-03-14

在实现第三方API(mollie)时,他们似乎将支持分页的参数之一命名为from,这与内置的pythonfrom相冲突。

有没有办法让我正确使用这个?我没有正确传递参数吗?注意:它们被写成**params

它唯一支持的参数是:from限制

from mollie.api.client import Client

c = Client().set_api_key(**KEY**)

c.subscriptions.list() # This works
c.subscriptions.list(limit=5) # This works
c.subscriptions.list(from="customer_code")

给予:

  File "main.py", line 7
    c.subscriptions.list(from="customer_code")
                         ^
SyntaxError: invalid syntax

共有1个答案

彭朝
2023-03-14

假设客户机定义如下:

def list(**params):
    # some stuff with params
    print(params.get('from'))
    print(params.get('limit'))

那么确实调用list(from=5)将给出一个语法错误。但是,当函数将所有参数打包到kwargs判决并将其视为字符串键时,我们可以在另一边做同样的事情——将判决解压缩到函数参数:

list(**{'from': 5, 'limit': 10})

将确实打印:

5
10
 类似资料:
  • 问题内容: 在Python中,您可能有一个函数定义: 可以通过以下任何一种方式调用: 多亏了Python允许任意顺序的参数(只要它们被命名)。 我们遇到的问题是,随着一些更大的函数的增长,人们可能会在和之间添加参数,这意味着错误的值可能会传递给未命名的参数。另外,有时不清楚需要输入什么。我们正在寻找一种方法来强迫人们命名某些参数- 不仅是编码标准,还是理想的标志或pydev插件? 因此,在上述4个

  • 问题内容: 我犯了如下错误: 但是现在我想使用内置函数。如您所见,listname和内置函数之间存在命名冲突。 如何在不重新启动Python Shell的情况下将变量作为内置函数使用? 问题答案: 使用或(取决于上下文),或再次简单地删除()。 无需进口: 存在是CPython实现细节;在模块中,它是一个模块,在其他任何地方,它都是模块字典。Jython,IronPython和PyPy可能选择完全

  • 本文向大家介绍Lua 命名参数,包括了Lua 命名参数的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 在代码中我发现: 类雇员不是我们的类,可能从wsdl文件生成,其中参数(年龄和地点)被称为,,所以有人试图命名null参数以知道哪个是哪个,但这是好的做法吗?另一个问题是,和被翻译,而其他两个参数只是,但除此之外,创建带有值的变量只是为了将其传递到构造函数的下一行,可以吗?

  • 问题内容: 因此,我正在使用的API的Web POST请求中预期的可选参数实际上也是python中的保留字。因此,如何在方法调用中命名参数: 由于“ from”是关键字,因此由于语法错误而失败。如何以不遇到语法错误的方式传递此密码? 问题答案: 将其作为命令传递。

  • 例子: 参考:https://docs.python.org/3/library/enum.html#planet 我为什么要这么做?如果构造函数列表中有一些基本类型(int,bool ),使用命名参数会更好。