# @Time    : 2017/7/8 17:49
# @Author  : 原创作者:谷哥的小弟
# @Site    : 博客地址:http://blog.csdn.net/lfdfhl
# @DESC    : Python的可变类型与不可变类型

'''

1 Python中可将变量分为:可变类型与不可变类型

2 不可变类型:
  变量中的值不可以改变,或者说一旦不可变类似的变量的值发生了变化那么它在内存中的地址就会发生改变

3 常见的不可变类型包括:
  数值类型 int, long, bool, float
  字符串 str
  元组 tuple

4 可变类型:
  变量中的值可以改变,且在改变后该变量的内存地址不会发生变化

  常见的可变类型包括:
  列表 list
  字典 dict

5 在Python中可利用id(o)函数查看变量在内存中的地址

'''

'''
不可变类型示例
'''
name1='小兰兰'
name2=name1
name1ID=id(name1)
name2ID=id(name2)
print('name1=%s,name1ID=%i,name2=%s,name1ID=%i'%(name1,name1ID,name2,name2ID))
name1='小花花'
name1ID=id(name1)
name2ID=id(name2)
print('name1=%s,name1ID=%i,name2=%s,name1ID=%i'%(name1,name1ID,name2,name2ID))
print('= '*20)
'''
可变类型示例
'''
listA=[1,3,5,7]
listB=listA
listAID=id(listA)
listBID=id(listB)
print('listA=%s,listAID=%i,listB=%s,listBID=%i'%(listA,listAID,listB,listBID))
listA.append(9)
print('listA=%s,listAID=%i,listB=%s,listBID=%i'%(listA,listAID,listB,listBID))

输出结果:

name1=小兰兰,name1ID=2188206315536,name2=小兰兰,name1ID=2188206315536
name1=小花花,name1ID=2188206315728,name2=小兰兰,name1ID=2188206315536
= = = = = = = = = = = = = = = = = = = =
listA=[1, 3, 5, 7],listAID=2188206905992,listB=[1, 3, 5, 7],listBID=2188206905992
listA=[1, 3, 5, 7, 9],listAID=2188206905992,listB=[1, 3, 5, 7, 9],listBID=2188206905992

Python探索记(16)——Python的可变类型与不可变类型的更多相关文章

  1. Python探索记(17)——函数

    # @Time : 2017/7/8 18:40 # @Author : 原创作者:谷哥的小弟 # @Site : 博客地址:http://blog.csdn.net/lfdfhl # @DESC : ...

  2. Python探索记(18)——文件File

    # @Time : 2017/7/8 21:10 # @Author : 原创作者:谷哥的小弟 # @Site : 博客地址:http://blog.csdn.net/lfdfhl # @DESC : ...

  3. Python学习:16.Python面对对象(三、反射,构造方法,静态字段,静态方法)

    一.构造方法 在使用类创建对象的时候(就是类后面加括号)就自动执行__init__方法. class A: def __init__(self): print('A') class B: def __ ...

  4. Python的可变类型与不可变类型

    Python基础知识,自己写一写比较不容易忘 Python的每个对象都分为可变和不可变,主要的核心类型中,数字.字符串.元组是不可变的,列表.字典是可变的. 对不可变类型的变量重新赋值,实际上是重新创 ...

  5. 26、Python的可变类型和不可变类型?

    Python的每个对象都分为可变和不可变 可变:列表.字典 不可变:数字.字符串.元祖 对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象(如果没有其 ...

  6. python的可变数据类型和不可变类型

    python里面一切皆对象 ython的每个对象都分为可变类型和不可变类型 整形,浮点型,字符串,元组属于不可变类型,列表,字典是可变类型 不可变数据类型 对不可变类型的变量重新赋值,实际上是重新创建 ...

  7. 理解python可变类型vs不可变类型,深拷贝vs浅拷贝

    核心提示: 可变类型 Vs 不可变类型 可变类型(mutable):列表,字典 不可变类型(unmutable):数字,字符串,元组 这里的可变不可变,是指内存中的那块内容(value)是否可以被改变 ...

  8. python可变类型和不可变类型

    原文地址:http://www.cnblogs.com/huamingao/p/5809936.html 可变类型 Vs 不可变类型 可变类型(mutable):列表,字典 不可变类型(unmutab ...

  9. Python——可变类型与不可变类型(即为什么函数默认参数要用元组而非列表)

    Python 的内建标准类型有一种分类标准是分为可变类型与不可变类型: 可变类型:列表.字典 不可变类型:数字.字符串.元组 因为变量保存的实际都是对象的引用,所以在给一个不可变类型(比如 int)的 ...

随机推荐

  1. 面向对象封装 classmethod和staticmethod方法

    接口类 接口类:是规范子类的一个模板,只要接口类中定义的,就应该在子类中实现接口类不能被实例化,它只能被继承支持多继承接口隔离原则:使用多个专门的接口,而不使用单一的总接口.即客户端不应该依赖那些不需 ...

  2. js判断background颜色明暗色调,以设置白/黑字体颜色

    整理自:jscolor.js插件   this.styleElement.style.color = this.isLight() ? '#000' : '#FFF';   this.isLight ...

  3. Java集合(7):HashMap

    一.HashMap介绍 HashMap是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算 ...

  4. 理解盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。

    一个元素盒模型的层次从内到外分别为:内边距.边框和外边距IE8以下浏览器的盒模型中定义的元素的宽高不包括内边距和边框

  5. iconfont的使用

    首先你要有一个图标库的账号,我们使用的是阿里矢量图标库,其次你要有一套已经设计好的图标原图.如果你具备了这些,就可以和我一起看iconfont的使用姿势了. 写在前面 不结合其他矢量库或UI框架一起使 ...

  6. Python 中lambda 简单介绍

    转自:https://www.cnblogs.com/AlwaysWIN/p/6202320.html 在学习python的过程中,lambda的语法经常出现,现在将它整理一下,以备日后查看. 1.l ...

  7. void及void指针介绍【转】

    本文转载自:http://blog.csdn.net/renren900207/article/details/20769503 void类型指针(如void *p)所指向的数据类型不是确定的,或者说 ...

  8. LeetCode—-Sort List

    LeetCode--Sort List Question Sort a linked list in O(n log n) time using constant space complexity. ...

  9. EYES组——软件体系结构上机规划

    EYES组——软件体系结构上机规划 考勤助手 第九周: 需求分析的详细撰写,并在此基础上探讨与完善,讨论软件的体系结构风格,画出初步的UML类图. 第十周: 选择合适的软件构架风格(3层C/S架构风格 ...

  10. BOOST编译方法

    Windowsbjam --toolset=msvc-9.0 --prefix=C:\vc9_boost\vc9 --build-type=complete link=static threading ...