美文网首页
第六章、动态类型简介

第六章、动态类型简介

作者: 聽風踏雪 | 来源:发表于2017-05-09 00:26 被阅读0次

缺少类型声明语句的情况

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

1、变量、对象和引用:

①、变量创建:

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

②、变量类型:

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

③、变量使用:

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

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

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

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

3、对象的垃圾收集:

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

共享引用

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

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

2、共享引用和相等:

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

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

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

动态类型随处可见

本章小结

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

相关文章

  • 第六章、动态类型简介

    缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明。 1、变量、对象和引用...

  • Flutter快速上手1.5:基础控件之Radio和Checkb

    一、Radio 属性名类型简介value动态类型此单选按钮表示的值groupValue动态类型该组单选按钮当前选定...

  • 13.OC和Swift混编

    OC 和 Swift 运行时简介 Objective-C 运行时 动态类型(dynamic typing) 动态绑...

  • 1.Javascript简介

    1.Javascript简介 1.1 简介 JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原...

  • ArrayList 源码浅析

    简介 ArrayList就是动态数组,数组元素的类型为Object类型,对ArrayList的所有操作底层都是基于...

  • RunTime

    一、runtime简介 Objective-C是一种动态语言,所谓动态语言,是在程序执行时动态的确定变量类型,执行...

  • JavaScript(一)

    JavaScript简介 1. JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型、...

  • 第6章 动态类型简介

    思考下面三条语句,它们会改变A打印出的值吗? 不会 思考下面三条语句,它们会改变A打印出的值吗? 会 思考下面三条...

  • Python 基础

    简介 Python是强类型(不允许隐式转换)、动态类型语言(在执行时才检查变量类型,允许变量重新赋值为其他类型、为...

  • 2018-08-10 反射

    1.简介 反射 提供了封装程序集、模块和类型的对象(Type类型)。可以使用反射动态创建类型的实例,将类型绑定到现...

网友评论

      本文标题:第六章、动态类型简介

      本文链接:https://www.haomeiwen.com/subject/fdtbtxtx.html