python - 内置函数名称作为标识符名称
问题描述
当我们分配一个引用内置函数的名称时,它没有抱怨。然而,当我们尝试在同一个内置函数中使用它时chr(chr)
,我们得到了符号中类的问题原因......问题是,这是否是 python 解释器中的一个错误?
for chr in range[69,91]:
print(chr) # no Error
但当
print(chr(chr)) # Throws an error.
解决方案
我认为您混淆了范围和名称空间。
如果您没有为 分配任何值chr
,那么尝试引用它的值将导致在内置范围中找到名称,它指的是内置函数。
在for
循环执行分配之后,您chr
在当前范围内分配一个值,因此查找chr
在该范围内成功,而不参考内置范围。
当您编写时chr(chr)
,会在当前作用域中查找这两个chr
引用,并在其中找到名称来引用int
. 没有两个命名空间,第一次使用(看起来像函数调用)与第二次使用不同。
推荐阅读
- python - Python3:自定义排序
- google-cloud-platform - GCE 仅显示 ~15% 的使用率,但顶部显示 ~99%
- c - 如何使 SDL_ttf 与 SDL2 一起工作?
- javascript - 为什么 JS 不从 Jinja 读取数据?
- javascript - 为什么我的汉堡菜单在单击时没有打开?
- c++ - unique_ptr
构造函数要求 Deleter 不抛出 - python - 线性回归速度增加
- python - 使用 numpy 查找 True 值垂直和水平连接的索引
- java - 为什么在 c++ 库崩溃应用程序中将 java long 作为指向结构的指针传递?
- ruby-on-rails - Rails 外键分配失败