gpt4 book ai didi

python - python中最小/最大函数中的参数数量错误

转载 作者:行者123 更新时间:2023-12-03 09:06:20 27 4
gpt4 key购买 nike

我在 Python 中运行了一个非常简单的示例,但出现了一些错误。
当我运行这段代码时:

lst = [1, 3, 4, 6, 7]
maxLSt = max(lst)
print(maxLSt)

我收到此错误:
  maxLSt = max(lst)
TypeError: max() takes exactly 2 arguments (1 given)

这个问题的原因是什么?

最佳答案

当你做了

from audioop import max

您明确告诉 Python 名称 maxmax来自 audioop .你不可能有一个名字来指代两种不同的东西,所以内置的 max函数被 audioop 中的函数“屏蔽”或“隐藏” .掩码函数对象仍可通过其全名 __builtins__.max 访问,但我们通常避免使用内置对象的全名,因为它们只会使代码看起来困惑,但在紧急情况和其他特殊情况下它们很方便。

避免这种名称冲突的方法是使用 import 的最简单形式。陈述:
import audioop

然后你可以访问它的 max使用完全限定名称的函数 audioop.max .如果您想经常使用模块中的名称并且不想一直输入其全名,您可以在导入模块时给模块起一个短名称,例如:
import audioop as au

然后你会引用它的 max功能与 au.max .

我建议您阅读关于 Python Scopes and Namespaces 的部分在官方 Python 教程中。事实上,阅读整个教程是个好主意。它不是针对完全不熟悉编程的人,它假设您已经有一些编码经验(最好是 C/C++/Java 系列),所以你不应该觉得它太简单。 :)

我还建议您阅读这篇文章: Facts and myths about Python names and values ,这是由 SO 老将 Ned Batchelder 编写的。这是对 Python 数据模型的一个很好的解释,它的工作方式与您在 Java 中所使用的完全不同。可以在 Other languages have "variables", Python has "names" 找到这些基本思想的简要总结,并附上精美的图表。 .

关于python - python中最小/最大函数中的参数数量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40713297/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com