OP编辑后回答
文字常量是实际的文字值;我知道字面意思这个词会让你感到困惑,但一个例子可能会让你更清楚。如果您在 REPL 中键入以下内容:
>>> 2
2
>>> 'hello'
'hello'
2
and hello
是实际的文字常量,与您的想法相反,您无法更改它们的值(好吧,您可以,作为初学者,最好不要知道这一点)。当你有:
stack = 2
stack = 3
您首先将常量文字(不过,老实说,不用担心它叫什么,它是数字 2)到stack
. So, 名字stack
指向值2
。然后,通过说stack = 3
, 你是not改变值2
; 你现在正在命名stack
指向另一个值,3
.
就其价值而言,“常量字面量”听起来很复杂。想想像这样的价值观2
or 'John'
等等。至于实际的常量(在编程中,常量指的是赋值后不能更改的变量),这个概念在 Python 中并不存在。一个常数是指,例如,你说stack = 2
但你永远无法改变什么stack
指向,否则你会得到一个错误。在Python中,这个概念不存在。
原答案:
对于初学者,我建议您阅读None、True 和 False 的故事(以及对文字、关键字和内置函数的解释)通过吉多:
另一方面,文字是描述常量值的表达式的元素。文字的示例有数字(例如 42、3.14 或 1.6e-10)和字符串(例如“Hello, world”)。文字由解析器识别,并且文字解析的确切规则通常非常微妙。
至于“常量”,你不能在Python中将变量声明为“真正的常量”。有一个内置常量 like True
and False
and None
在 Python 中,但即使它们在 Python 2.X 中也不是“真正的常量”,因为它们可以被分配为指向另一个值:
True = False
if True:
print 'Hey'
else:
print 'WAAAT!'
我希望这有帮助。如果没有,请编辑您的问题并举例说明常量和文字常量的确切含义。
Note: True
and False
等是Python 3.x中的关键字,所以如果你说True = False
,解释器会提出SyntaxError: assignment to keyword
.