zoukankan      html  css  js  c++  java
  • python中的不可变类型和可变类型

    在python中整形,字符串,元组是不可变类型,而列表和字典都是可变类型。

    对于不可变类型进行重新赋值,相当于是用以前的变量名重新指向了新的地址,这个地址中存的变量值就是重新的赋值

    通过python中提供的函数id可以看到变量在内存中存储的位置

    >>> a = 10
    >>> id(a)
    25407616
    >>> a = 6
    >>> id(a)
    25407712

    同时,对于0-256之间的任意整形,以及稍微短一点的字符串来讲,相同的值,在python中内存位置是相同的。

    >>> a =256
    >>> b = 256
    >>> id(a)
    25413664
    >>> id(b)
    25413664
    >>> a =257
    >>> b = 257
    >>> id(a)
    25833048
    >>> id(b)
    25832952

    对于可变类型,以列表为例进行描述

    >>> a = [1,2,3]
    >>> id(a)
    140640457811584
    >>> a.append(5)
    >>> id(a)
    140640457811584

    也就是说,可变类型,即使改变了变量的内容,变量的地址也不会发生变化。

    和不可变类型比较,可变类型的多次操作对应的仍然是这个变量,而不可变对象的多次操作,就会生成多个不可变对象。

  • 相关阅读:
    JS-07 (js的面向对象编程)
    AI SiameseFC
    phpstorm调试
    Php 编译扩展
    canvas
    AI FCN
    AI WebGL
    Python flask
    JIT 即时编译
    小程序
  • 原文地址:https://www.cnblogs.com/andyniu/p/7571545.html
Copyright © 2011-2022 走看看