相关疑难解决方法(0)

正常参数与关键字参数

"关键字参数"与常规参数有何不同?不能传递所有参数name=value而不是使用位置语法?

python arguments keyword optional-parameters named-parameters

271
推荐指数
8
解决办法
23万
查看次数

是否有完整的内置函数列表,无法使用关键字参数调用?

人们在答案a1,a2中提到了这一点

由于Python C级API的开发方式,许多内置函数和方法实际上没有参数的名称.

我发现它真的很烦人因为我无法通过查看文档来了解它.例如,eval

eval(表达式,globals = None,locals = None)

然后我写了这行代码

print(eval('a+b', globals={'a':1, 'b':2}))
Run Code Online (Sandbox Code Playgroud)

并得到了TypeError: eval() takes no keyword arguments.那么有这种功能的完整列表吗?如何知道函数是否允许包含关键字参数?

python arguments python-c-api

8
推荐指数
1
解决办法
358
查看次数

如何创建仅包含位置参数而不包含关键字参数的python函数?

python中的许多内置函数不采用关键字参数。例如chr功能。

>>> help(chr)
Help on built-in function chr in module builtins:

chr(i, /)
    Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.
Run Code Online (Sandbox Code Playgroud)

尝试将值传递给chr使用关键字参数不起作用。

>>> chr(i=65)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: chr() takes no keyword arguments
Run Code Online (Sandbox Code Playgroud)

我知道/chr功能的帮助文本中的字符意味着它不会带有关键字参数。

如何定义不包含关键字参数的函数?当然,我想定义一个仅接受位置参数的函数。

这可能会被标记为重复项,但至少这样我会得到答案。我找不到这个问题的StackOverflow答案。

我学到的另一个类似功能是创建一个不带位置参数的函数。

>>> def f(*, a, b):
...     print(a, b)
...

>>> f(1, 2)
Traceback (most recent call last):
  File "<stdin>", …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

5
推荐指数
1
解决办法
253
查看次数