在编写程序时,表示数据的量可以分为两种:常量和变量。
• 常量,是指在程序运行过程中值不能发生改变的量,如1、3.5、3+4j、"test"等。
• 变量,是指在程序运行过程中值可以发生改变的量。与数学中的变量一样,需要为Python中的每一个变量指定一个名字,如x、y、test等。
注意 变量名两边不要加引号。例如,test可以是一个变量名,执行test=10,则可以将变量test赋值为10;而"test"是一个字符串常量,执行"test"=10,则会因为给常量赋值而报错。
Python是一种弱类型的语言,变量的类型由其值的类型决定。变量在使用前不需要先定义,为一个变量赋值后,则该变量会被自动创建。
变量的命名规则如下。
• 变量名可以包括字母、数字和下划线,但是数字不能作为开头字符。例如,test1是有效变量名,而1test则是无效变量名。
• 系统关键字不能作为变量名使用。例如,and、break等都是系统关键字,不能作为变量名使用。
• Python的变量名区分大小写。例如,test和Test是两个不同的变量。
提示 Python 3.x默认使用UTF-8编码,变量名中允许包含中文,如“测试”是一个有效的变量名。
代码清单2-1展示了变量的使用方法。
表1-2 Python部分版本的信息
代码清单2-1的运行结果如图2-1所示。
图2-1 代码清单2-1的运行结果
在代码清单2-1中:
• 第1行代码通过赋值创建了一个名为test的变量,其保存了字符串"Hello World!",因此test是一个字符串型变量。
• 第2行代码通过赋值创建了一个名为Test的变量,其保存了整数123,因此Test是一个整型变量。
• 第3行和第4行代码通过print函数分别输出了test和Test两个变量的值,输出结果与前面所赋的值一致。
• 第5行代码将已有变量test重新赋值为浮点数10.5,此时test是一个浮点型变量。也就是说,同一个变量名可以在程序运行的不同时刻用于表示不同类型的变量,以存储不同类型的数据。
• 第6行代码通过print函数输出test的值,输出结果与预期一致。
在一条语句中可以同时定义多个变量,其语法格式如下:
赋值运算符右边的值1、值2、…、值n会分别赋给左边的变量1、变量2、…、变量n。
例如,下面的代码
执行完毕后,会定义两个变量:name是一个字符串型变量,其值为"张三";age是一个整型变量,其值为18。
也可以在一条语句中修改多个已定义的变量的值,如以下代码所示。
第1行代码的作用是定义两个整型变量x和y,它们的值分别是5和10。第2行代码的作用是将赋值运算符右边y和x的值取出并分别赋给左边的x和y;执行完毕后,x的值为10,y的值为5,即将x和y的值进行了交换。
提示 对于赋值运算,先计算赋值运算符右边的表达式的值,再将计算结果赋给左边的变量。因此,第2行代码先得到赋值运算符右侧的y和x的值,再将它们分别赋给左边的变量。取出右侧的y和x的值后,第2行代码转换为x, y=10, 5,然后再执行赋值运算,即将10赋给x,将5赋给y。
【思考题2-1】 下列选项中,( )不是常量。
A.12
B.35.7
C.'Python'
D.abc
【思考题2-2】 通过语句“m, n=3, 5”,定义了( )个变量。
A.0
B.1
C.2
D.报错
【思考题2-3】 Python中的变量在使用前是否必须先定义?