# @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. 用python的turtle画分形树

    由于分形树具有对称性,自相似性,所以我们可以用递归来完成绘制.只要确定开始树枝长.每层树枝的减短长度和树枝分叉的角度,我们就可以把分形树画出来啦!! 代码如下: # -*- coding: utf-8 ...

  2. go——常量

    常量是一个简单值的标识符,在程序运行时,不会被修改的量常量中的数据类型只可以是布尔值.数字型(整数型.浮点型和复数)和字符串.常量的定义格式: const identifier [type] = va ...

  3. Python(面向对象编程4——继承顺序、封装)

    继承顺序 ''' 一点需要注意 ''' class Father: def f1(self): print("test func followed ==>") self.te ...

  4. s5_day8作业

    # 1 整理今天装饰器代码(每人手写一份,注意,是手写,交到小组长手里,明天我检查),准备明天默写 # 2 编写日志装饰器,实现功能如:一旦函数f1执行,则将消息2017-07-21 11:12:11 ...

  5. java 获取request参数集

    request里有两个方法 request.getParameterMap(); request.getParameterNames(); 我想用这两种方法获取. 1.用request.getPara ...

  6. springmvc get post put delete

    web.xml <!-- 配置 org.springframework.web.filter.HiddenHttpMethodFilter: 可以把 POST 请求转为 DELETE 或 POS ...

  7. python约束 与MD5加密写法

    python 中约束写法有两种 1 常用的通过继承关系主动抛出异常  2 通过抽象类+抽象方法 1 常用的通过继承关系主动抛出异常写法 在本send方法中报错不会抛出异常, class BaseMes ...

  8. Python框架之Tornado(源码之褪去模板外衣的前戏)

    执行字符串表示的函数,并为该函数提供全局变量 本篇的内容从题目中就可以看出来,就是为之后剖析tornado模板做准备,也是由于该知识点使用的巧妙,所有就单独用一篇来介绍了.废话不多说,直接上代码: # ...

  9. 检索并打印一个DNS主机条目

    检索并打印一个DNS主机条目的 C 程序 --- Linux/Unix /*************************************************************** ...

  10. 华为交换机S5700系列配置镜像端口(M:N)

    配置本地端口镜像组网图(M:N) 组网需求 如图所示,某公司研发一部.研发二部和市场部通过Switch与外部Internet通信,监控设备Server1.Server2与Switch直连. 现在希望将 ...