首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当您有一个名为max的变量时,使用Python的max函数?

当您有一个名为max的变量时,使用Python的max函数?
EN

Stack Overflow用户
提问于 2016-02-17 23:43:32
回答 1查看 3K关注 0票数 2

Python包含内置的max()函数。然而,尽管它是内置的,但它不是关键字。也就是说,您可以做max=4。这是有意义的,因为最大的事情出现了很多。但!如果您使用max作为变量,那么它将禁用在该作用域中使用max函数。

所以如果你这么做了:

代码语言:javascript
运行
复制
max = 4
max(1, 2)

您将得到一个int object not callable错误。再说一次,说得通。但是有什么方法可以指定您想要max函数吗?像std.max()?这也适用于所有其他内置的函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-17 23:46:12

(Python 2) / (Python 3)模块为以下情况提供了访问所有内置/标准标识符的另一种方法:

代码语言:javascript
运行
复制
>>> import __builtin__
>>>
>>> __builtin__.max is max
True
>>>
>>> max = 2
>>> __builtin__.max([0, max])
2
代码语言:javascript
运行
复制
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__ (沙箱钩子)单独处理。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35470018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档