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

    一、可变对象和不可对象

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

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

        可变对象:list、dictionary

        1.不可变对象

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

          

              

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

        2.可变对象

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

        

          

    二、函数参数

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

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

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

  • 相关阅读:
    typescript学习记录-联合类型(14)
    typescript学习记录-元组(13)
    typescript学习记录-Map(对象)(12)
    typescript学习记录-Array(数组)(11)
    typescript学习记录-String(10)
    typescript学习记录-Number(9)
    typescript学习记录-函数(8)重点重点
    typescript学习记录-循环(7)
    SQL注入基础知识及绕过方式
    暴力破解攻击方式及思路
  • 原文地址:https://www.cnblogs.com/ybf-yyj/p/9011462.html
Copyright © 2011-2022 走看看