20年8月3日 python开班典礼(内插内存定义)

一、学习方法

1、练习课上内容

  • 第一遍,先按照老师的视频和源代码去敲一遍;
  • 第二遍,脱离老师和视频再敲一遍;
  • 第三遍,根据自己的理解再敲一遍。
    【个人要求:最起码敲五遍以上,确保自己能快速且明白的敲出上课时所讲解的内容】

2、上课内容以文章的形式发博客

  • 梳理知识,加强理解;
  • 可用作复习;
  • 可作为自身的简历。

3、课后作业要求

  • 完成上述一、二之后再完成作业否则作业无意义。

二、内存

  • 定义:行动或思考时作为目标的人或事物。
  • 存的是对象
    • id
    • 类型(type)
    • 值(value)

1、id解释

  • a = [1,2,3]
    b = [1,2,3]
    其中a、b的id不一样,验证方式:通过pycharm,输入print(id(a),id(b))运行之后便能得到a、b的id。

  • a = 4
    b = a
    其中a、b的id一样,验证方式如上。

  • a = 4
    b = 4
    a和b的id是一样的,以为4时候int类型,int是一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符

  • (8.5新增知识点) a = [4]
    b = [4]
    这个时候a和b的id是不一样的,因为[4]是一个列表类型

  • a = [1,2,3]
    b = [1,2,3,a]

    • 于a = 1+2 b = 1+2 中a和b的id一样的问题,后期变量课程中会讲到 注意(8.5新增知识点)
  • 关于引用“copy”
    deepcopy深层次拷贝,即复制对象的所有的层次,暂且认为完全拷贝。copy潜层次拷贝,例:a= copy.copy(b) 拷贝的对象为[1,2,3,a]
    经过pychram验证结果如下:
    20年8月3日 python开班典礼(内插内存定义)_第1张图片
    可以得出,copy不能复制b的id,但能复制b的值,可以看出a与b的值是一样的。

三、垃圾回收机制

1、引用计数

  • python垃圾回主要以引用计数为主,分带回收为辅。引用计数法的原理是每一个对象维护一个ob_ref,用来记录当前对象被引用的次数,也就是来追踪到底有多少引用指向了这个对象,当发生以下四种情况的时候,该对象的引用计数器=1:

  • (1)、对象被创建;例:a = [1,2,3]

  • (2)、对象被引用;例:b = a

  • (3)、对象被作为参数,传到函数中;例:print(a)

  • (4)、对象作为一个元素,存储在容器中;例:c = [4,5,a]

    • 与上述情况相对应,当发生以下四种情况是,该对象的引用计数器-1:
  • (1)、当该对象的别名被显示销毁时;例:del a

  • (2)、当该对象的引别名被赋予新的对象时;例:a =[1,2,3,4]

  • (3)、一个对象离开她的作用域;未详解,待自查

  • (4)、将该元素从容器中删除时,或者容器被销毁时。

你可能感兴趣的:(python基础学习之路)