在python中,与其他语言不同,可以将一些值归因于某些已经在python中预先定义的关键字。为什么?这不是全部,有些。
> range = 5
> range
> 5而是为了
> def = 5
File "<stdin>", line 1
def = 5
^
SyntaxError: invalid syntax一个可能的假设是:具有独特解析规则的懒散编码器。
对于那些刚加入python的人来说,是的,这实际上是有效的,比如True,False,range,len等等。我在大学时为python编写了一个编译器,如果我没记错的话,关键字列表中没有它们。
发布于 2015-07-06 11:32:46
虽然range只是一个内置函数,但def是一个关键字。(大多数IDE应该用适当的颜色表示差异。)
函数--无论是否内置--都可以重新定义。它们不需要保留函数,但在您的示例中可以成为像range这样的整数。但你永远不能重新定义关键词。
如果您愿意,可以使用以下代码行(借用自here)打印所有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对于Python3(注意没有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。
发布于 2015-07-06 11:29:41
关键字‘范围’是一个函数,您可以创建一些其他vars以及和,最大值.
另一方面,关键字'def‘需要一个已定义的结构来创建函数。
def <functionName>(args):发布于 2015-07-06 11:32:36
您混淆了关键字和内置函数。def是关键字,但range和len只是内置函数。任何函数都可以被重写,但关键字不能。
关键字的完整列表可以在keywords.kwlist中找到。
https://stackoverflow.com/questions/31244525
复制相似问题