python变量无需创建和赋值直接使用_学习Python变量,这个笔记就够了

1.Python中几个概念

1、什么是对象?

Python中一切皆对象。对象是Python对数据的抽象。Python程序中所有数据都是由对象或者对象之间的关系表示的(代码也由对象来表示)。

每个对象都有:

1、标识(id)

2、类型(type)

3、值(value)

对象的标识在创建以后不会改变,对象标识(id)可以使用id()函数得到(一个整数标识)。可以使用 is 操作符可以比较两个对象的标识(id),来判断两个变量是否绑定到同一个对象。

对象的类型决定对象所支持的操作,例如:可求长度吗?,求最大值?,能做累加?等等。也定义了该类对象的可能值。使用type()函数可以获得对象的类型。在Python中类型也是对象。和对象标识一样,对象的类型也是不能改变的。

2、可变对象、不可变对象

有些对象的值可以改变。可以改变值的对象称为“可变对象”,一旦创建后其值不能改变的对象称为“不可变对象”。

有种情况:一个不可变的容器对象内部包含了一个可变对象的引用,当可变对象的值被改变后,不可变容器对象的值会随着可变对象的值而变化。但是容器仍然被认为是不可变的(因为容器包含的对象集合不能被改变)。

图:元组是不可变对象

a是列表,可变对象;b是元组不可变对象,b元组内包含对列表a的引用。当a列表中的值被修改后,元组b引用也会跟着改变。

一个对象的可变性是由它的类型决定的,如:数字,字符串,元组是不可变的;列表,字典是可变的。

3、对象销毁与垃圾回收

对象不需要显示的销毁,当它们不可访问时,它们可被解释器自动回收。回收可能有延迟,这主要取决于垃圾回收实现的机制。Cpython目前使用引用计数方案,具体请参考GC模块文档。有些对象包含“外部”资源的引用,如:打开文件和窗口,这类对象考虑到当释放对象时,垃圾回收不一定发生,所以这类对象提供了显示的方法释放资源,通常时提供一个close()方法(函数)。对于这类对象建议(必须)程序显示的关闭这类对象。

对于不可变类型,计算新值的操作实际上可以返回具有相同类型和值的任何现有对象的引用,而对于可变对象则不允许这样做。例如,在a = 1之后,b=1,a和b可以根据值的实现而引用同一个对象,也可以不引用同一个对象,但在c &#

你可能感兴趣的:(python变量无需创建和赋值直接使用_学习Python变量,这个笔记就够了)