python | 不可变数据类型】的更多相关文章

python里面一切皆对象 ython的每个对象都分为可变类型和不可变类型 整形,浮点型,字符串,元组属于不可变类型,列表,字典是可变类型 不可变数据类型 对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象(如果没有其他变量引用原有对象的话(即引用计数为0),原有对象就会被回收). 不可变类型以int类型为例:实际上 i += 1 并不是真的在原有的int对象上+1,而是重新创建一个value为6的int对象,i引用自这个新的对象. >>>…
首先,我们需要知道在python中哪些是可变数据类型,哪些是不可变数据类型.可变数据类型:列表list和字典dict:不可变数据类型:整型int.浮点型float.字符串型string和元组tuple. 用一句话来概括上述过程就是:“python中的不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象,内部会有一个引用计数来记录有多少个变量引用这个对象:可变数据类型,允许变量的值发生变化,即如果对变量进行append.+…
一. 问题的提出 我们先来看两个对比 第一道题,当对象为整数时,最终结果:b = 2, a = 1,b的变化没有引起a的变化 a = 1 b = a b += 1 print(a) print(b) 结果: 1 2 第二道题,当对象为字典时,最终结果:a = {"name":"jack","age":27}, b = {"name":"jack","age":27},b的变化引起了a的变…
目录 第1节 分类 第2节 不可变数据类型 2.1 布尔型(bool) 2.2 数字型(number) 2.3 字符串(string) 2.4 元组(tuple) 第1节 分类 python中有7种标准数据类型,分别是布尔型.数字型.字符串.元组.列表.字典和集合,根据数据的特点,可以划分为两大类:不可变数据类型.可变数据类型,见下图: 而不同数据类型,内部的组成元素,经常可以是其他的数据类型,即可以互相嵌套,见下图: 第2节 不可变数据类型 2.1 布尔型(bool) 布尔型数据也叫布尔值,只…
可变类型(mutable):变量进行append.+=等这种操作后 == 改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象. list dict set bytearray user-defined classes (除非是特别定义的不可变) a = [,] b = [,] print(id(a)) print(id(b)…
<python的可变与不可变数据类型>     python与C/C++不一样,它的变量使用有自己的特点,当初学python的时候,一定要记住“一切皆为对象,一切皆为对象的引用”这句话,其实这个特点类似于JAVA,所以在python里面大家也不用担心类似于C/C++中的指针的复杂问题, 在python中数据分为可变数据类型,不可变数据类型.     ●可变数据类型:列表list和字典dict.     ●不可变数据类型:整型int.浮点型float.字符串型string和元组tuple.  …
在python中,数据类型分为可变数据类型和不可变数据类型,不可变数据类型包括string,int,float,tuple,可变数据类型包括list,dict. 所谓的可变与不可变,举例如下: >>> a = "test" >>> print a[0] t >>> a[0] = 1 Traceback (most recent call last): File "<stdin>", line 1, i…
一.什么可变数据类型和不可变数据类型 可变数据类型:value值改变,id值不变:不可变数据类型:value值改变,id值也随之改变. 二.如何确定一种数据类型是可变的还是不可变的 根据可变数据类型与不可变数据类型的概念,只需要在改变value值的同时,使用id()函数查看变量id值是否变化就可以知道这种数据类型是可变的还是不可变的了. 数字:,从图中可以看出当数字的值改变时,变量id值也改变了,所以数字是不可变数据类型 字符串:,从图中可以看出当字符串的值改变时,变量id值也改变了,所以字符串…
在学习python过程中我们一定会遇到不可变数据类型和可变数据类型. 1.名词解释 以下所有的内容都是基于内存地址来说的. 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型. 可变数据类型    :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型.    总结:不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变 2.数据类型分类 在python中数据…
python数据类型分别有整数int / 浮点数float / 布尔值bool / 元组tuple / 列表list / 字典dict,其中数据类型分为两个大类,一种是可变数据类型:一种是不可变数据类型,两者有什么区别呢? 一.关于内存 在讲解python可变数据类型和不可变数据类型之前需要先普及一下内存相关的简单知识! 在python编程的时候,代码中的变量实际上都是存储在计算机内存中,当然这里指的内存在计算机中是虚拟的,你看不见摸不着!每一个内存都有一个对应的内存地址,讲到这里需要再次介绍一…
可变数据类型:列表.字典 不可变数据类型:整型.浮点型.字符串.元组 为什么可变数据类型不能作为python函数的参数?请看以下例子: def foo(a=[]): a.append(1) return a print(foo()) print(foo()) print(foo()) 结果: [1] [1, 1] [1, 1, 1] 我们继续打印下每次函数的返回值的内存地址: print(id(foo())) print(id(foo())) print(id(foo())) 结果: 14034…
python3中有六个标准的数据类型:number(数字型).string(字符串型).list(列表).type(元祖).dictionary(字典).set(集合),其中不可变类型三个:number.type.stri:剩下的三个是可变数据类型. 0x01:不可变数据类型 对于判断是否为可变数据类型,我们可以用id函数,它的作用是获取对象的内存地址.假如我们写了下面两行代码: >>> a=5 >>> id(5)1351465552 第一行声明了一个number类型的…
1.不可变数据类型:数值.字符串.元组 不允许变量的值发生变化,如果变量的值变化了,那么就是新建了一个对象:对于相同值的对象,在内存中只有一个对象. 2.可变数据类型:列表.字典 允许变量的值发生变化,允许变量的值发生变化,即如果对变量进行append.+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象…
1.可变数据类型:在id不变的情况下,value可改变(列表和字典是可变类型,但是字典中的key值必须是不可变类型) 2.不可变数据类型:value改变,id也跟着改变.(数字,字符串,布尔类型,都是不可类型)…
一.python中的数据类型之列表 1.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 二.列表常用操作 >切片>追加>插入>修改>删除>扩展>拷贝>统计 >排序 >翻转 >>> names = ["admin","abc","jack","lily"] #定义列表 >>> names #…
1.Python中的数据类型:数字.字符串.列表.元组.字典 2.数字类型包括整型.长整型.浮点型.复数型 type(number):获取number的数据类型 整型(int):范围:-2,147,483,648~2,147,483,647 长整型(long):num=123L  或  num=999999999999999999999999999 浮点型(float):num=12.0 复数型(complex):num=3.14j  或  num=8.32e-36j  (实部用e表示,虚部用j…
Python3中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Dictionary(字典) Tuple(元组) Set(集合) 我理解的可变就是当一个变量创建时,在内存中申请一块空间用于存放对象,这个被申请的内存空间地址中的对象是可以改变的.当对这个对象进行一系列的操作时,这个内存空间地址不会改变,只会增加或缩减.如果这个对象是不可变的,那么在对对象进行操作时,必须在内存中的另外一个地方重新申请一块区域来存放操作后的对象.而老的内存空间会被python的…
什么是数据类型? 程序的本质就是驱使计算机去处理各种状态的变化,这些状态分为很多种. 例如英雄联盟游戏,一个人物角色有名字,钱,等级,装备等特性,大家第一时间会想到这么表示 名字:德玛西亚------------->字符串 钱:10000 ----------------->数字 等级:15 ------------------->数字 装备:鞋子,日炎斗篷,兰顿之兆----->列表 (记录这些人物特性的是变量,这些特性的真实存在则是变量的值,存不同的特性需要用不同类型的值) py…
一.变量 1 什么是变量之声明变量 #变量名=变量值age=18gender1='male' gender2='female' 2 为什么要有变量 变量作用:"变"=>变化,"量"=>计量/保存状态程序的运行本质是一系列状态的变化,变量的目的就是用来保存状态,变量值的变化就构成了程序运行的不同结果. 3 变量值之类型与对象 程序中需要处理的状态很多,于是有了不同类型的变量值,x='seven',变量值'seven'存放与内存中,绑定一个名字x,变量值即我…
Python常见的数据类型有:数字 字符串 元组 列表 字典 不可变类型:数字 字符串 元组 可变类型: 列表 字典 a = 100 b = [100] def num1(x): x += x print(x) def num2(x): x += x print(x) num1(a) print(a) num2(b) print(b)执行的结果为: 200100[100, 100][100, 100] 这里以数字和列表距离,可以看到变量 a 没有发生改变,但是变量 b 却随着函数的执行改变了结果…
python中,数据结构是通过某种方式(例如对元素进行编号),组织在一起数据结构的集合. python常用的组合数据类型有:序列类型,集合类型和映射类型 在序列类型中,又可以分为列表和元组,字符串也属于序列类型 在集合类型中,主要有集合类型 在映射类型中,主要有字典类型,字典是可变序列 python中一切皆对象,组合数据类型也是对象,因此python的组合数据类型可以嵌套使用,列表中可以嵌套元组和字典,元组中也可以嵌套和字典,当然字典中也可以嵌套元组和列表,例如:['hello','world'…
数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-…
数据类型: 数字: 整数  int (integer) python3 已经不区分整型和长整型了,都叫整型 浮点型 float 复数 complex 布尔: True        False 字符串 万恶的 + 号:“python  中的字符串在 C 语言中体现为是一个字符数组,每次创建字符串时需要在内存中开辟一块连续的内存,并且一旦需要修改字符串的话,就需要再次开辟空间” “python中的不可变数据类型,不允许变量的值原地发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值…
本节内容 一.字符串 记住: 有序类型:列表,元组,字符串 ---> 都可迭代: 无序类型:字典,集合 ---> 不可迭代: 特性:不可修改 class str(object): """ str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str Create a new string object from the given object. If encoding…
计算机中,一切皆为对象 世界万物,皆为对象,一切对象皆可分类 ------------------------------------我是分割线------------------------------------ 1.IDE集成开发环境(Integrated Development Enviroment) VIM:经典的Linux下的文本编辑器 Emacs:Linux文本编辑器,相对于VIM更友好一点 Eclipse:Java IDE,支持python,c,c++ Visual  Studi…
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一个字符.这是计算机中最小的存储单位.每8个字符又组成一个字节,8bit=1bytes 缩写为1BGBK 和GB2312中文和数字的对应表,一个汉字对应两个字节UTF-8 现代计算机系统通用的字符编码工作方式: 用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成之后,保存…
python有两种索引方式.一种从左至右,下标从0开始:一种从右至左,下标从-1开始. python有六种数据类型: 不可变数据(四个):Number(数字).String(字符串).Tuple(元组).Sets(集合): 可变数据(两个):List(列表).Dictionary(字典). List列表写在[]里.元组(tuple)与列表类似,不同之处在于元组的元素不能修改.元组写在小括号 () 里,元素之间用逗号隔开.元组中的元素类型也可以不相同. 虽然tuple的元素不可改变,但它可以包含可…
1.pyc简介 python程序在运行时也有编译过程,编译后会产生.pyc文件.这是一种由python虚拟机执行的二进制文件(字节码),用于保存内存中PyCodeObject,以便加快程序的加载运行.这个文件可以跨平台,但与python版本高度相关(文件名中带有版本信息),不同版本的.pyc内容不同. 怎么见证.pyc文件的存在呢? 方法1: 在python程序中通过import调用其他程序运行时,python会自动生成一个与被调用的python程序文件相关的.pyc文件出来.linux平台和w…
数据类型: 计算可以处理各种不同文件,图形,音频,视频,网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有以下几种: 一:nubmer(数字) 1.1数据类型的创建:   a=90 b=a b=9000 print(a) print(b) 1.2number 数据类型的转换: var1=3.14 var2=5 var3=int(var1) var4=float(var2) 5 print(var3,var4) Python内置函数: x=10 a…
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = dict(x=10,y=10) 3,将列表转换为字典 dict1 = dict([('a',10),('b',10)]) 2,字典的基础知识 1,字典的key,value说明 dict1 = {'a':1,1:123} key是不可变的,所以key可以用元祖,但不然能用列表表示,另外字典是无序的且ke…