
2.3 Python常量与变量
知识链接
1.Python常量
在Python程序中不会发生变化的量,称之为常量。例如,圆周率等于3.1415926…这个圆周率的值就是常量。常量分为数值常量、字符型常量、日期常量、时间常量等。字符型常量是用引号引起来的一串字符。
不同的常量,输出格式不同。数值常量输出:print(数值);字符常量输出:print("字符")。例如,print(3)、print("345abc")等格式都是对的。但print 3和print "345abc"都是不对的。
2.Python变量
变量本身是一个标识符,需要命名,其实就是会发生变化的量,称之为变量。变量的特点:产生变量在内存中的唯一地址(读者不能直接看到);变量对应一个值(值有类型,可以修改)。变:变化,重在变字,量:计量,衡量,表示一种状态。
(1)变量命名规则。以字母开头,后面可以由数字、字母、下画线等任意组合的串字符,数字不能开头,Python的关键字不能用,变量名尽量有意义,归纳为以下几点。
①变量名只能包含字母、数字和下画线。变量名可以字母或下画线开头,但不能以数字开头,例如,可将变量命名为message_1,但不能将其命名为1_message。
②变量名不能包含空格,但可使用下画线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
③不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
④变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
⑤慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
注意:应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。
(2)变量赋值方法。变量是用来存储数据的,通过标识符可以获取变量的值,也可以对变量进行赋值。对变量赋值的意思是将值赋给变量,赋值完成后,变量所指向的存储单元存储了被赋的值,在Python语言中赋值操作符为“=、+=、-=、*=、/=、%=、**=、//=”。
当程序使用变量存储数据时,必须要先声明变量,然后才能使用。声明变量的语法如下。
identifier [ = value];
其中,identifier是标识符,也是变量名称。value为变量的值,该项为可选项,可以在变量声明时给变量赋值,也可以不赋值。例如,level=1,其中level是变量名;符号“=”是赋值符号;1是要给变量level赋值的值。除了“=”外,还有其他赋值类型,如表2.4所示。
表2.4 Python赋值符号

声明变量时,不需要声明数据类型,Python会自动选择数据类型进行匹配。
例1:变量声明示例。
result; width;
例2:变量声明并赋值示例。
result = 30; name="Peter";
(3)变量值的输出。要输出变量的值,首先要给变量赋值,否则会出错。对已经赋过值的变量用print(变量)就可以输出。
例3:
x=3 print(x)
这里要说明一下,Python和其他语言不同,数值变量名和字符变量名不再用$来区别,只是在赋值时,字符串常量用单引号、双引号或三引号标出来再赋值给变量即可。
课堂任务
1.理解数据常量和字符常量。
2.变量的声明和赋值。
探究活动
在Python自带的IDLE编辑器中输入如下程序,如图2.11所示。然后按F5键运行程序,如图2.12所示。


图2.11 变量录入

图2.12 运行结果
如图2.11所示,刚开始,对变量x赋的值是3,输出显示x=3;对变量y赋的值是8,输出显示y=8;当把y的值赋给x时,输出显示x=8。说明变量的值是可以变化的。我们再看看y的值赋给x之后,输出显示y的值没有变化还是8,为什么?
拓展训练
1.简单消息:将一条消息存储到变量中,再打印出来。
message = "I am a student." print(message)
2.多条简单消息:将一条消息存储到变量,打印出来;修改变量值为另外一条消息,再打印出来。

课外训练
1.个性化消息:将用户的名字存储到变量,并向该用户显示一条消息。
name = "Mary" print("Hello " + name + ", welcome to China!")
2.名言:找一句你钦佩的名人说的名言,将这个名人和他的名言打印出来。
print('欧文说,“真理唯一可靠的标准就是永远自相符合”')
3.变量的加减乘除运算。
