# @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. 创建pfx数字证书

    相关参考: 安全工具: http://msdn.microsoft.com/zh-cn/library/dd233106(v=vs.110).aspx makecert: http://msdn.mi ...

  2. 浅谈 JS 内存泄露方式与避免方法(二)

    Concept WHAT : 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束.正常情况下,垃圾回收器在DOM元素和event处理器不被引用或访问的时候回收它们.但是,IE的早些 ...

  3. NIO复习01

    NIO 概述: 1. Java NIO 由以下几个核心部分组成:Channels       Buffers           Selectors 2. 主要Channel的实现:FileChann ...

  4. 设计模式(六) xml方式实现AOP

    1.1. Aop,  aspect object programming  面向切面编程 功能: 让关注点代码与业务代码分离! 关注点, 重复代码就叫做关注点: 切面, 关注点形成的类,就叫切面(类) ...

  5. 链接指示:extern "C"

    C++程序有时需要调用其他语言编写的函数,最常见的是调用C语言编写的函数.像所有其他名字一样,其他语言中的函数名字也必须在C++中进行声明,并且该声明必须指定返回类型和形参列表.对于其他语言编写的函数 ...

  6. jQuery/CSS3 图片边框线条变换动画

    在线演示 本地下载

  7. fabric文件上传打包与校验

  8. ggplot2 specific command

    # By default, the same scales are used for all panels. You can allow # scales to vary across the pan ...

  9. Effective C++ 条款05:了解C++编写并调用哪些函数

    规则一 编译器默认操作 // 你认为 class Empty { }; // 实际上 class Empty { public: Empty() { ... } // default 构造函数 Emp ...

  10. SQL Server2012在软件开发中的一些新特性

    官方给出了一大堆SQL2012相对于SQL2008R2的新特性,但是大多数对于普通开发人员来说都是浮云,根本用不到,下面就说说一些对于开发人员来说比较有用的新特性.   一.在SQL Server中终 ...