用python进行赋值语句
赋值语句包含三部分:左值、赋值运算符和右值。
赋值语句剖析。这条语句让var指向value。左值必须是变量,
而右值可以是变量、值或结果为值的任何表达式
赋值语句有两个用途:定义新的变量;让已定义的变量指向特定值。例如
第一条赋值语句(x = 4)完成了两项职责,是一条初始化语句。它让Python创建新变量x,并将值5赋给它。然后,在可以使用整数的任何地方,都可使用变量x了。
第二条赋值语句(x = 99)给x重新赋值,让它指向另一个值。它没有创建变量x,因为这个变量已经存在,这是前一条赋值语句的功劳。
如果你不对变量初始化,Python将报错:
术语说明
常用于描述变量和值的术语很多。我们有时候说将值赋给变量或给变量指定值。
对于已经赋值的变量,说它指向、标记或拥有相应的值。
程序员有时说变量包含其值,好像变量是桶,而值在桶内。这种说法的问题在于,Python变量并不符合你以为的“包含”模型。例如,在Python中,同一个对象不能同时出现在多个桶内,但可以有多个变量同时指向它。上述错误消息指出变量y未定义,因此Python不知道该使用什么值来替换表达式2 * y + 1中的y。可以将任何值赋给变量,包括其他变量的值。请看下面的一系列赋值语句:
那么对于变量又应该如何引用值呢
对于x = expr这样的Python赋值语句,可以这样解读:让x指向表达式expr的值。
别忘了,expr可以是任何结果为值的Python表达式。
为帮助理解一系列赋值语句,一种不错的方式是绘制示意图。例如,执行语
句rate = 0.04后,可以认为计算机的内存类似于下图所示。
接下来,执行语句rate_2008 = 0.06后,计算机内存类似于下图所示。
最后,执行语句rate = rate_2008后,计算机内存类似于下图所示。
执行语句rate = rate_2008后。注意,不再有变量指向0.04了,因此Python自动将其删除,这个过程称为垃圾收集。
对于没有任何变量指向的值(例如,图2-8中的0.04 ),Python自动将其删除。一般而言,Python跟踪所有的值,并自动删除不再有变量指向的值。这称为垃圾收集,因此Python程序员很少需要为删除值操心。
今天的内容似乎有点抽象,大家要多理解和练习。