zoukankan      html  css  js  c++  java
  • Python中不可变类型和可变类型详解

    1. 什么是不可变类型
    变量对应的值中的数据是不能被修改,如果修改就会生成一个新的值从而分配新的内存空间。
    不可变类型:
         数字(int,long,float)
         布尔(bool)
         字符串(string)
         元组(tuple)

    案例一
    结果:
    两个不同的数字
    案例二:
    结果:
    两个不同的数字
    2. 什么是可变类型
    变量对应的值中的数据可以被修改,但内存地址保持不变。
       不可变类型:
           列表(list)
           字典(dict)

    案例一:
    结果:
    两个相同的数字
    ['刘备', '关羽', '张飞', '赵云

    案例二:
    结果:
    两个相同的数字
    {'name': '刘备', 'age': 20}

    3. 为什么生成以上两种情况
    因为python中的值是通过引用(地址值)传递的,不可变类型的值一旦被修改后会创建一个内存空间并且生成新的地址值,可变类型的值会在原内存空间中被修改。

    4. 不可变类型执行过程和内存分析
    5. 可变类型执行过程和内存分析

    感谢源码时代教学讲师提供此文章!

     

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31544234/viewspace-2157363/,如需转载,请注明出处,否则将追究法律责任。

  • 相关阅读:
    SCAU 9504 面试
    SCAU 9503 懒人选座位
    SCAU 8628 相亲
    SCAU 10691 ACM 光环
    SCAU 8626 原子量计数
    SCAU 10674 等差对
    HDU ACM 1048 The Hardest Problem Ever (水题)
    SCAU 9502 ARDF
    SCAU 10686 DeathGod不知道的事情
    SCAU 8629 热身游戏(高精度)
  • 原文地址:https://www.cnblogs.com/maybach/p/13771568.html
Copyright © 2011-2022 走看看