Python入门100个实例(7)——字符串与变量名

从本实例学到什么

  1. 字符串字面量与变量名的区别
  2. Python解释器如何判别字符串字面量与变量名
  3. 字符串字面量的引号不是值的一部分

实例程序代码

#例2-3-2  name与'name'的区别
print('name')
print(name)

name = 'Jordan'
print(name)
name = 'name'
print(name)

name = input()
print(name)

运行实例程序2-3-2,程序将出错。错误发生在第3行:

print(name)

原因在于name变量未定义。
第2行中,name两边的单引号使得它被视为字符串字面量。该字符串的值是name。

字符串字面量与变量的区别

在这个例子中,字符串字面量和变量的区别是:

  1. 写法上的区别。字符串字面量由单引号或双引号包围。而变量则没有引号包围。
  2. 语义上,字符串字面量是一种值。而变量是值的名字。

Python解释器如何判别字符串字面量和变量名

Python解释器是解释执行python程序代码的程序。在终端上,命令:

python 2-3-2.py

就是运行python解释器程序,由它加载、解释执行2-3-2.py这个代码文件。那么,python解释器是如何判别name是字符串字面量还是变量名呢?估计你马上给出答案,两边有单引号或双引号,就是字面量。两边没有单引号或双引号,就是变量名。
嗯,很好,你正在从python解释器的角度理解程序。

字符串字面量的引号不是值的一部分

注释掉实例程序2-3-2中的第3行,程序就能顺利运行。
第7行是,

name = ‘name’

这使得name变量的值为’name’字符串。第8行代码:

print(name)

将输出:name 。
第10行代码,调用input()输入一组字符。假如从键盘敲入四个字母:name,然后敲回车,input函数将返回’name’字符串,name变量将赋值为’name’字符串。第11行代码将输出:name 。

为什么输出的内容中没有单引号呢?这是因为,’name’字符串的值是n, a, m, e四个字符组成的序列,不包含引号。引号是书写时使用的标点符号,不是值的一部分。
这就跟下面的例子是一个道理。这个例子中,我说的话里头不包含双引号。我说的话是:

我说:“Python是一门容易上手的语言。”

小结

  1. 变量名两边没有单引号或双引号。字符串字面量两边有。
  2. 引号是书写字符串时使用的标点符号。引号不是值的一部分。

猜你喜欢

转载自blog.csdn.net/yedouble/article/details/80944871