zoukankan      html  css  js  c++  java
  • python可变对象与不可变对象的差别

    一、可变对象和不可对象

      Python在heap中分配的对象分成两类:可变对象和不可对象。所谓可变对象是指,对象的内容可变,而不可变对象是指内容不可变。

        不可变对象:int、string、float、tuple

        可变对象:list、dictionary

        1.不可变对象

         由于python中的变量存放的对象引用,所以对于不可变对象而言,尽管对象本身不可变,但变量的对象引用是可变的。

          

              

           不可变对象的优缺点:优点是这样可以减少重复值对于内存空间的占用;缺点是要修改变量的绑定值,如果内存中不存在该值的内存块,必须重新开辟一块内存,把新地址与变量名绑定。而不是修改原来变量指向的内存块的值,这会降低执行的效率。

        2.可变对象

          其对象的内容是可以变化的。当对象的内容发生变化时,变量的对象引用是不会变化的。

        

          

    二、函数参数

      python函数参数对于可变对象,函数内对参数的改变会影响的原始对象;对于不可变对象,函数内对参数的改变不会影响到原始参数。原因在于:

          1.可变对象,参数改变的是可变对象,其内容可以被修改。

          2.不可变对象,改变的是函数内变量的指向对象。

  • 相关阅读:
    docker6 管理工具
    docker1 初识docker
    libsvm处理多分类的问题
    selenium webdriver 的三种等待方式
    文本深度表示模型Word2Vec
    机器学习中训练集、验证集、测试集的定义和作用
    机器学习中防止过拟合的处理方法
    用Python读取大文件
    进化世界
    EDS(实例)
  • 原文地址:https://www.cnblogs.com/ybf-yyj/p/9011462.html
Copyright © 2011-2022 走看看