Python探索记(16)——Python的可变类型与不可变类型
# @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的可变类型与不可变类型的更多相关文章
- Python探索记(17)——函数
# @Time : 2017/7/8 18:40 # @Author : 原创作者:谷哥的小弟 # @Site : 博客地址:http://blog.csdn.net/lfdfhl # @DESC : ...
- Python探索记(18)——文件File
# @Time : 2017/7/8 21:10 # @Author : 原创作者:谷哥的小弟 # @Site : 博客地址:http://blog.csdn.net/lfdfhl # @DESC : ...
- Python学习:16.Python面对对象(三、反射,构造方法,静态字段,静态方法)
一.构造方法 在使用类创建对象的时候(就是类后面加括号)就自动执行__init__方法. class A: def __init__(self): print('A') class B: def __ ...
- Python的可变类型与不可变类型
Python基础知识,自己写一写比较不容易忘 Python的每个对象都分为可变和不可变,主要的核心类型中,数字.字符串.元组是不可变的,列表.字典是可变的. 对不可变类型的变量重新赋值,实际上是重新创 ...
- 26、Python的可变类型和不可变类型?
Python的每个对象都分为可变和不可变 可变:列表.字典 不可变:数字.字符串.元祖 对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象(如果没有其 ...
- python的可变数据类型和不可变类型
python里面一切皆对象 ython的每个对象都分为可变类型和不可变类型 整形,浮点型,字符串,元组属于不可变类型,列表,字典是可变类型 不可变数据类型 对不可变类型的变量重新赋值,实际上是重新创建 ...
- 理解python可变类型vs不可变类型,深拷贝vs浅拷贝
核心提示: 可变类型 Vs 不可变类型 可变类型(mutable):列表,字典 不可变类型(unmutable):数字,字符串,元组 这里的可变不可变,是指内存中的那块内容(value)是否可以被改变 ...
- python可变类型和不可变类型
原文地址:http://www.cnblogs.com/huamingao/p/5809936.html 可变类型 Vs 不可变类型 可变类型(mutable):列表,字典 不可变类型(unmutab ...
- Python——可变类型与不可变类型(即为什么函数默认参数要用元组而非列表)
Python 的内建标准类型有一种分类标准是分为可变类型与不可变类型: 可变类型:列表.字典 不可变类型:数字.字符串.元组 因为变量保存的实际都是对象的引用,所以在给一个不可变类型(比如 int)的 ...
随机推荐
- Differences between Python2 and Python3
@1:str, repr和反引号是Python将值转为字符串的3种方法repr创建一个字符串,它以合法的Python表达式的形式表示该字符串.Python2还有反引号`,但Python3中没有反引号, ...
- C# 复杂算法
1.添加命名空间引用using Microsoft.JScript; //formula 是公式如:(1+2)*3/10 private double GetComputeValueByStringF ...
- MAC 终端terminal颜色
Mac终端terminal颜色实在太单调了,安装Linux使用的GNU Coreutils替换Mac的ls命令: Mac终端terminal颜色实在太单调了,安装Linux使用的GNU Coreuti ...
- curl类封装
<?php /** * @author askwei **/ class CURL { private $ch; private $url = "htt ...
- php内存管理机制、垃圾回收机制
一.内存管理机制 先看一段代码: <?php //内存管理机制 var_dump(memory_get_usage());//获取内存方法,加上true返回实际内存,不加则返回表现内存 $a = ...
- 【c++ primer, 5e】访问控制与封装
练习 7.16 无,类的接口定义在public说明符之后,类的实现细节定义在private说明符之后. 7.17 有.类成员的默认访问权限不同.class的类成员默认为private,struct的则 ...
- MySQL-5.7创建及查看数据库表
1.创建数据库表的三种语句 创建一个新表: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [tab ...
- Python学习之:pycharm配置
最近需要做一些小工具,听说Python不错,就学习一下.工欲善其事必先利其器,一个好的IDE对于学习一门新知识是很有帮助的,边写代码边换IDE,纠结了几天,最终还是选择了pycharm,之前觉得不够好 ...
- bzoj 1623: [Usaco2008 Open]Cow Cars 奶牛飞车
1623: [Usaco2008 Open]Cow Cars 奶牛飞车 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 325 Solved: 223[S ...
- Define class with itself as generic implementation. Why/how does this work?
https://stackoverflow.com/questions/10709061/define-class-with-itself-as-generic-implementation-why- ...