Python,不同类型的关键字

贝尔托先生

与其他语言不同,在python中,可以将一些值赋给已经在python中预定义的某些关键字。为什么?这还不是全部,有些。

> range = 5
> range
> 5

但对于

> def = 5
  File "<stdin>", line 1
    def = 5
        ^
SyntaxError: invalid syntax

一种可能的假设是-具有独特解析规则的惰性编码器。

是的,对于那些不熟悉python的人来说,这实际上适用于True,False,range,len等关键字。我在大学里为python编写了一个编译器,如果我没记错的话,关键字列表中没有它们。

法尔科

Whilerange不过是一个内置函数,def是一个关键字。(大多数IDE应使用适当的颜色指示差异。)

可以重新定义功能(无论是否内置)。而且它们不必保留功能,但可以像range您的示例中那样成为整数但是您永远无法重新定义关键字。

如果愿意,可以使用以下代码行(从此处借来打印所有Python关键字的列表

import keyword
for keyword in keyword.kwlist:
    print keyword

输出:

and
as
assert
break
class
continue
def
del
elif
else
except
exec
finally
for
from
global
if
import
in
is
lambda
not
or
pass
print
raise
return
try
while
with
yield

对于Python 3(请注意缺少print):

False
None
True
and
as
assert
break
class
continue
def
del
elif
else
except
finally
for
from
global
if
import
in
is
lambda
nonlocal
not
or
pass
raise
return
try
while
with
yield

相反,可以在以下位置找到内置函数:https : //docs.python.org/2/library/functions.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章