# @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. IE调试页面总结

    随着IE版本的升级,IE变的越来越强大,随之带来的问题也是越来越明显,如:如何调试在低版本的浏览器中 的情况 IE9的方法: 出于未知需求,用户在安装了较高版本IE浏览器(IE9)之后,又需要使用低版 ...

  2. leetcode每日一题——两数之和

    题目: 两数之和 难度: 简单 描述: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 解法: class Solutio ...

  3. Set,List,Map的区别

    最近在学习struct2中OGNL表达式的过程中,发现自己对set,list,map存在只是欠缺,在百度的过程中发现了此文觉得讲的不错,放到自己博客以便再次查阅,也希望更多地菜鸟看到. java集合的 ...

  4. Qt debug和release

    debug会默认给变量赋初始值,但是release不会. 所以: 在头文件中声明指针P* p时,最好给它初始化:P* p=NULL; 不然有可能造成野指针的情况

  5. Hungry Rabbit

    Problem C. Hungry Rabbit Input file: hungry.in Output file: hungry.out Time limit: 10 seconds Memory ...

  6. VC++6.0调试简单快捷键

    编译——F7 重新编译——Ctrl+F7 设置断点 ——F9 取消断点——F9 删除所有断点——Ctrl+Shift+F9 开始调试——F5 进行下一次调试——F5 停止调试——Shift+F5 逐过 ...

  7. nswag vs swashbuckle

    https://www.reddit.com/r/dotnet/comments/a2181x/swashbuckle_vs_nswag/ Swashbuckle https://github.com ...

  8. oracle 结构化语言查询 DML DDL DCL

    --结构化查询语言 (Structured Query Language),具有定义. --查询.更新和控制等多种功能,是关系数据库的标准语言. --SQL分类: -- 数据操纵语言DML Data ...

  9. java 实现图片拼接

    1.想要实现多个图片的纵向和横向拼接.实现代码如下 2.补充发现横向拼接的一个bug 宽度没有增加(已修复) 百度地址:工具jar下载 链接:https://pan.baidu.com/s/1uZCN ...

  10. Java中Collections.sort()排序详解

      public static void main(String[] args) { List<String> list = new ArrayList<String>(); ...