Python包含内置的max()函数。然而,尽管它是内置的,但它不是关键字。也就是说,您可以做max=4
。这是有意义的,因为最大的事情出现了很多。但!如果您使用max作为变量,那么它将禁用在该作用域中使用max函数。
所以如果你这么做了:
max = 4
max(1, 2)
您将得到一个int object not callable
错误。再说一次,说得通。但是有什么方法可以指定您想要max函数吗?像std.max()
?这也适用于所有其他内置的函数。
发布于 2016-02-17 23:46:12
(Python 2) / (Python 3)模块为以下情况提供了访问所有内置/标准标识符的另一种方法:
>>> import __builtin__
>>>
>>> __builtin__.max is max
True
>>>
>>> max = 2
>>> __builtin__.max([0, max])
2
import __builtin__ as builtins
def random_integer(min, max):
random_integer.seed = builtins.max(10101, ( # looks random enough, right?
((random_integer.seed * 3 - 210) % 9898989) >> 1) ^ 173510713571)
return min + (random_integer.seed % (max - min + 1))
random_integer.seed = 123456789
这个模块通常不会被大多数应用程序显式访问,但是在提供与内置值相同的对象的模块中很有用,但是在这些模块中,也需要该名称的内置。
Python3中的名称更改是PEP 3100中描述的“核心语言”更改的一部分。
为了消除
__builtin__
和__builtins__
之间的混淆,决定将__builtin__
(模块)重命名为builtins
,并将__builtins__
(沙箱钩子)单独处理。
https://stackoverflow.com/questions/35470018
复制相似问题