You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中内置名称'sum'被遮蔽是什么意思?

Python内置名称'sum'被遮蔽是什么意思?

首先,Python自带了一批内置函数和名称,sum()就是其中之一——它专门用来计算列表、元组这类可迭代对象的总和。

当你在代码里定义了一个和内置名称同名的变量(比如你的代码里写了sum = 0),就会发生「名称遮蔽」:你自己定义的这个变量会覆盖当前代码作用域里的内置sum名称。这意味着在这个作用域内,Python会优先识别sum为你定义的变量,而不是原本的内置函数。

举个实际的例子:如果在你的代码结尾加一行print(sum([1,2,3])),程序会直接报错——因为此时sum是你之前赋值的整数0,不是用来计算总和的内置函数,自然没法处理列表参数。

这种遮蔽行为的问题在于:

  • 降低代码可读性,其他开发者看到sum会默认是内置函数,容易产生误解
  • 直接丢失了当前作用域对内置sum()函数的正常访问,除非用__builtins__.sum这种繁琐的方式调用

解决办法很简单:把你的变量名改成和内置名称不重复的,比如total_sum、result这类,示例如下:

# 替换原来的sum变量名
total_sum = 0
while num > 0:
    total_sum += num
    num -= 1
print("The sum is", total_sum)

内容的提问来源于stack exchange,提问作者Đỗ Như Vỹ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 03:07:47