计算机程序通常用于处理各种类型的数据(即对象),不同的数据属于不同的数据类型,支持不同的运算操作。
计算机程序处理的数据必须放人内存。
机器语言和汇编语言直接通过内存地址访问这些数据,而高级语言则通过内存单元命名(即变量)来访问这些数据。
在Python3中一切皆为对象。对象是某个类(类型)的实例,对象由唯一的id标识。对象可以通过标识符来引用,对象引用即指向具体对象实例的标识符,也称之为“变量”。
变量的声明和赋值
变量的声明和赋值用于把一个变量绑定到某个对象,其语法格式如下。
变量名=字面量或表达式
最简单的表达式是字面量,Python基于字面量的值创建一个对象,并绑定到变量;对于复杂的表达式,Python先求值表达式,然后返回表达式结果对象,并绑定到变量。
Python变量被访问之前必须初始化,即赋值(绑定到某个对象),否则会报错。
# [例2.15]变量 的声明和赋值示例。
x=0; y=0; z=0 #变量x、y和z均指向int对象0
strl = "abc" # 变量str1指向值为"abe"的str型实例对象
aFloat #变量aFloat未声明和定义(NameError: name 'aFloat' is not def ined)---------------------------------打印结果------------------------------------------
NameError Traceback (most recent call last)
in
5 x=0; y=0; z=0 #变量x、y和z均指向int对象0
6 strl = “abc” # 变量str1指向值为"abe"的str型实例对象
----> 7 aFloat #变量aFloat未声明和定义(NameError: name ‘aFloat’ is not def ined)NameError: name ‘aFloat’ is not defined
链式赋值语句
链式赋值用于为多个变量赋同一值。
链式赋值(chained assignment)的语句形式如下:
变量1 = 变量2 = 表达式
等价于:
变量2 = 表达式
变量1 = 变量2
# 【例 2.16】 链式赋值语句
x = y = 123
x
y---------------------------------打印结果------------------------------------------
123
123
复合赋值语句
赋值语句运算符不仅可以简化代码,使程序精炼,而且可以提高程序的效率。
常见的: += - = *= /= %= 等等
# 【例 2.17】复合语句
i = 1
i += 1
i
i *= 2
i---------------------------------打印结果------------------------------------------
2
4
删除变量
# 【2.18】删除变量
x = 123
x
del x
x # 已经删除x ,x 未定义 报错123
---------------------------------打印结果------------------------------------------
NameError Traceback (most recent call last)
in
3 x
4 del x
----> 5 x # 已经删除x ,x 未定义 报错NameError: name ‘x’ is not defined序列解包赋值
变量的个数与序列的元素个数要保持一致,否则会出错。
如果只需要解包部分值,则可以采用特殊变量“_”。
# 【例2.19】序列解包 及 变量交换
_ ,x , y = 0, 1 , 2 # 特殊变量"_"
x
y
x,y=y,x #变量交换
x
y---------------------------------打印结果------------------------------------------
1
2
2
1
常量
Python语言不支持常量,即没有语法规则限制改变一个常量的值。
Python 语言使用约定,声明在程序运行过程中不会改变的变量为常量,通常使用全大写字母(可以使用下画线增加可阅读性)表示常量名。
# [例2.21]常量示例。
TAX RATE = 0.17 #浮点类型常量TAX RATE
PI = 3 #整型常量PI
ECNU = '华东师范大学 ' #字符串常量ECNU
















