标签:psd vbs db2 dcs tms cst otc 部分 utc
python是动态语言。不需要事先声明变量类型,同一变量可以被赋值为不同的对象类型。
变量创建
python的变量不需要声明,当代码第一次给其赋值时就创建它。
变量赋值
举例说明,赋值语句 “a = 3”。一般而言赋值过程如下:
变量类型
变量本身不包含任何类型约束信息,类型的概念存在于它引用的对象中而不是变量名中。
变量使用
当变量出现在表达式中时,它会马上被引用的对象所代替。所有的变量在使用前必须被赋值,使用未赋值的变量会引起“NameError”异常(变量必须先被创建才能使用)
对象
每个对象有两个标准的头部信息:标识对象类型的类型标志符,一个引用计数器。一个对象可能同时被多个变量名引用,引用计数器记录了对象被引用的次数。对于大部分的对象而言,当引用计数器的值为0时,对象所在的内存空间会被回收。
共享引用
多个变量名同时引用同一个对象。
不可变类型,对象一旦创建不可修改。整数类型 int 、浮点数类型 float、复数类型 complex、字符串类型 str、元祖类型 tuple 、集合类型 set,都属于不可变类型。下面通过变量赋值的过程理解型不可变对象:
a = 1 #建立变量a到对象1的引用 b = a #建立变量b到对象1的引用, 共享引用 a = 2 #因为int类型的对象1不可修改,所以新建对象2,并且建立变量a到它的引用 #现在变量a、b分别引用不同的对象。
过程如图:
可变类型指对象可原地修改的类型。比较典型的:列表类型 list、字典类型 dict。
以list为例,list是任意对象的有序集合,如下图所示:
list对象中每个元素都是一个对象引用。通俗理解,list对象的元素有点类似变量,同样可更改。
标签:psd vbs db2 dcs tms cst otc 部分 utc
原文地址:http://www.cnblogs.com/wadirum/p/7569964.html