在Python里,一切皆对象,完全的面向对象。
1 Python为动态解释性语言
在赋值操作时,
类型是在运行过程中自动决定的,而不是通过代码声明,没有必要事先声明变量。
(静态编译类型语言C++或Java,在使用变量前,需声明变量的类型。)
2 变量和对象之间的关系为引用。
1 变量
1 第一次赋值时,即创建,之后 再次赋值 将会 改变 变量的值。
2 变量名本身是没有类型的,类型只存在对象中,变量只是引用了对象。
3 所有的变量,必须 在使用前 赋值,使用未赋值的变量会产生错误。
2 对象
1 对象是有类型的。
2 对象是分配的一块内存空间,来表示它的值。
3 每一个对象都具有两个标准的头部信息:
类型标志符:标识对象的类型。
引用计数器:用来决定对象是不是进行回收。
Python对象三要素:Id,Type,Value
Id:唯一标识一个对象
Type:标识对象的类型
Value:对象的值
3 引用
1 在Python中,从变量到对象的连接,称为引用。
2 引用是一种关系,以内存中的指针的形式实现。
3 赋值操作时,自动建立变量和对象之间的关系,即引用。
赋值和引用
python中赋值语句,
总是建立对象的引用值,而不是复制对象。
因此,python变量更像是指针,而不是数据存储区域。
简单引用:
例1
a = 3
步骤:
创建一个对象来代表值3。
创建一个变量a,如果它还没有创建的话。
将变量a 与 新的对象3 相连接。
如图:
例2
a = 1
a = 'python'
a = 1.2
这里的 变量a 被多次赋值,
并不是修改的对象,而是修改的引用,
a指向1,然后修改引用指向 '