对象
python中的一切都是对象。每个对象由:标识(identity),类型(type),值(value)。
- 标识:用于唯一标识对象,通常对应对象在计算机中的地址,使用内置函数id(obj)可返回对象obj的标识
- 类型用于表示对象存储的数据的类型。类型可以限制对象的取值范围以及可执行的操作。可以使用type(obj)来获得对象的所属类型
- 值:表示对象所存储的数据的信息。使用print(obj)可直接打印值
对象的本质就是一个内存块,拥有特定的值,支持特定类型的相关操作
引用
在Python中,变量也成为:对象的引用。因为变量通过地址引用了对象。
变量位于栈内存。
对象位于堆内存。
- Python是动态类型语言:变量不需要显式声明类型,根据变量引用的对象,Python解释器自动确定数据类型。
- Python式强类型语言:每个对象都有数据类型,只支持该类型支持的操作。
标识符
标识符:用于变量,函数,类,模块等的名称。
关于标识符的使用,与大多数的语言的规则都一样。
慎用小写字母l和大写字母O,因为容易与数字1和0混淆
变量的声明和赋值
上面已经提到过,Python的变量声明不需要显式声明。
变量在使用前必须被初始化。
删除变量和垃圾回收机制
可以通过del语句删除不再使用的变量。变量删除后,相应的对象就无法被引用,成为无法被使用的垃圾,Python的垃圾回收机制会自动释放这些对象。
链式赋值
用一个对象赋值给多个变量如:x=y=123 相当于 x=123;y=123
系列解包赋值
将一系列数据给对应相同个数的变量进行赋值(必须对象与变量一一对应)
a,b,c = 4,5,6 相当于 a=4;b=5;c=6
这种方式也一样可以直接为等号两边式变量进行操作。
常量
Python不支持常量,即没有语法规则限制一个常量的值。只能在程序逻辑上不对作为常量的值作出修改。(也就是程序员控制自己和程序不能对常量做操作)
MAX_SPEED = 120
print(MAX_SPEED)
MAX_SPEED = 140
print(MAX_SPEED)