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

    一、可变对象和不可对象

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

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

        可变对象:list、dictionary

        1.不可变对象

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

          

              

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

        2.可变对象

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

        

          

    二、函数参数

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

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

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

  • 相关阅读:
    Windows下搭建HTK
    使用VS2012遇到的问题
    Chapter 3:Speech Production and Perception
    Chapter2:Discrete-Time Signal Processing and Short-Time Fourier Analysis
    Chapter 1:Introduction
    将SVM用于多类分类
    Kernel ridge regression(KRR)
    Sklearn学习笔记
    LDA与QDA
    〖Linux〗使用ssh登录远程主机,并在本地打开远程图形界面
  • 原文地址:https://www.cnblogs.com/ybf-yyj/p/9011462.html
Copyright © 2011-2022 走看看