我正在学习Python,我对常量和文字常量感到困惑。他们是什么?我们使用它们是为了什么目的?与正常变量有什么不同?
我是个真正的初学者。作为初学者,我可以说我对编程世界一无所知。例如,我不知道什么是表达式,反之亦然。
我一直在使用“Python的一个字节”一书学习python语言,在书中的某个地方,我遇到了一个关于文字和常量的章节,我在书中分享了这个章节:
5.2。文字常数 文字常量的一个例子是像5,1.23这样的数字,或者像‘这是一个字符串’或“这是一个字符串!”这样的字符串。 它之所以被称为文字,是因为它是文字的--你按字面意思使用它的值。数字2总是表示自身,而不是其他任何东西--它是一个常量,因为它的值不能改变。因此,所有这些都被称为文字常量。
当它写着,“因为它是字面的,所以它叫做文字-你用它的价值字面上”,我只是不明白这个部分。这本书想说的是,我们用的是什么价值呢?另一个模糊的观点是,数字2是一个常数,因为它的值不能改变。这怎么可能呢?我们可以改变它,比如:
stack = 2
stack = 3首先,我将数字2分配给堆栈,然后更改堆栈的值(也就是书中声称它是常量的第2号,所以不能更改),并将第3号分配给它。所以,我很容易改变数字2的值,我真的很困惑,如果你不明白我的观点,请告诉我,这样我就可以给出更多的例子。
发布于 2014-06-09 15:01:38
OP编辑后的回答
一个文字常量是一个实际的文字值;我知道文字这个词让你感到困惑,但是一个例子可能会使它更清楚。如果在REPL中键入以下内容:
>>> 2
2
>>> 'hello'
'hello'2和hello是实际的文字常量,与您所想的相反,您不能更改它们的值(作为初学者,您可以这样做,最好不要知道)。当你有:
stack = 2
stack = 3首先为stack分配常量文字(老实说,不必担心它的名称,它是数字2)。因此,名称stack指向值2。然后,通过说stack = 3,您是而不是,您正在更改值2;您现在正在使名称stack指向另一个值3。
至于它的价值,“常量文字”听起来很复杂;只要把2或'John'等价值观想象成它们的样子就行了。至于实际常量(在编程常量中,指的是赋值后不能更改的变量),这个概念在Python中并不真正存在。常量是指,例如,当您说stack = 2时,但是您永远不能更改stack所指向的内容,否则您将得到一个错误。在Python中,这个概念不存在。
原始答案:
首先,我建议您阅读Guido的“无”、“真”和“假”的故事(以及对文字、关键词和内置词的解释):
另一方面,文字是描述常量值的表达式的一个元素。字面值的例子是数字(例如42,3.14或1.6e-10)和字符串(例如,42,3.14或1.6e-10)。“你好,世界”)。文本由解析器识别,而解析文字的精确规则通常非常微妙。
至于“常量”,您不能在Python中将变量声明为“真正常量”。Python中有类似于内建常数的True、False和None,但是它们在Python2.x中也不是“真正的常量”,因为它们可以被赋值给另一个值:
True = False
if True:
print 'Hey'
else:
print 'WAAAT!'我希望这能帮到你。如果没有,请编辑您的问题,并给出一个例子,您所指的确切的常数和文字常量。
注意:True和False等是Python3.x中的关键字,所以如果您说True = False,解释器将引发SyntaxError: assignment to keyword。
https://stackoverflow.com/questions/24122798
复制相似问题