第六章、动态类型简介

缺少类型声明语句的情况

在Python中,类型是在运行过程中自动决定的,而不是通过代码声明。

1、变量、对象和引用:

①、变量创建:

一个变量(也就是变量名),就像a,当代码第一次给它赋值时就创建了它。

②、变量类型:

变量永远不会有任何的和它关联的类型信息或约束。

③、变量使用:

当变量出现在表达式中时,它会马上被当前引用的对象所代替,无论这个对象是什么类型。

④、每一个对象都有两个标准的头部信息:

一个类型标识符去标识这个对象的类型,以及一个引用计数器,用来决定摔不死可以回收这回对象。

2、类型属于对象,而不是变量:

3、对象的垃圾收集:

在Python中,每当一个变量名被赋予了一个新的对象,之前的那个对象占用的空间就会被回收(如果它没有被其他的变量名或对象所引用的话)。这种自动回收对象空间的技术叫做垃圾收集。

共享引用

在Python中,变量总是一个指向对象的指针,而不是可改变的内存区域的标签:给一个变量赋一个新的值,并不是替换了原始的对象,而是让这个变量去引用完全不同的一个对象。

1、共享引用和在原处修改:

2、共享引用和相等:

在Python程序中有两种不同的方法去检查是否相等。

①、“==操作符”,测试两个被引用的对象是否有相同的值。

②、“is操作符”,是在检查对象的同一性。

动态类型随处可见

本章小结

这章对Python的动态类型(也就是Python自动为我们跟踪对象的类型,不需要我们在脚本中编写声明语句)进行了深入的学习。在这个过程中,我们学会了Python中变量和对象是如何通过引用关联在一起的,还探索了垃圾收集的概念,学到了对象共享引用是如何影响多个变量的,并看到了Python中引用是如何影响相等的概念的。

你可能感兴趣的:(第六章、动态类型简介)