file
是 Python 中的一个关键字吗?
我看到一些代码可以正常使用 file
关键字,而有些人建议不要使用它,并且我的编辑器将其显示为关键字。
file
是 Python 中的一个关键字吗?
我看到一些代码可以正常使用 file
关键字,而有些人建议不要使用它,并且我的编辑器将其显示为关键字。
不,file
不是一个关键字:
>>> import keyword
>>> keyword.iskeyword('file')
False
在Python 3中不存在这个名称。在Python 2中,file
是一个内置函数:
>>> import __builtin__, sys
>>> hasattr(__builtin__, 'file')
True
>>> sys.version_info[:2]
(2, 7)
open()
的别名,但在Python 3中被移除,新的io
框架取代了它。从技术上讲,它是Python 2 open()
函数返回的对象类型。file
作为变量名是否可以? - Gustavo Bezerrafile
不是 Python 3 中的关键字或内置函数。
>>> import keyword
>>> 'file' in keyword.kwlist
False
>>> import builtins
>>> 'file' in dir(builtins)
False
file
也是Python 3文档中的变量示例。
with open('spam.txt', 'w') as file:
file.write('Spam and eggs!')
type
默认情况下不被定义:Python 3.8.10 (default, Nov 14 2022, 12:59:47)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> file
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'file' is not defined
在VS Code和可能的其他编辑器中,颜色编码可能是指Python 2,其中默认定义了它,它是由open()
返回的类型:
Python 2.7.18 (default, Jul 1 2022, 12:27:04)
[GCC 9.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> file
<type 'file'>