python数据类型可变不可变知识点总结

python的数据类型可变不可变

1、什么是可变不可变

首先说一下什么是Python数据的可变不可变。

我们都知道定义变量的时候,是先创建一块内存空间,将值放进去,然后变量名里存放着该内存空间的内存地址。现在我们就可以解释了。

  1. 可变类型:就是这个数据类型的值在不改变这一块内存空间,而去改变这个数据类型的值。
  2. 不可变类型:当改变值得时候,会申请一块新的内存空间,不再是原来的那一块内存空间了。

2、不可变类型

数据类型中,有哪些是不可变类型呢?

在Python设计中,整数、浮点型、字符串、元祖都是不可变类型,这点可以通过id()的方法进行验证。其中涉及到一些底层操作,我也不懂。

  1. 整数。
  2. 字符串
  3. 浮点型
  4. 元祖
  5. 布尔类型

3、可变类型

再python的所有数据类型中,字典、列表、可变集合都是可变类型,在改变元素的值得时候,改变的是该数据类型所在内存空间中对应的内存地址。

  1. 列表
  2. 字典
  3. 集合

知识点扩充:

1.名词解释

以下所有的内容都是基于内存地址来说的。

不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。

可变数据类型 :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。

总结:不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变

2.数据类型分类

在python中数据类型有:整型,字符串,元组,集合,列表,字典。接下来我们用例子来一一查看他们分别属于不可变数据类型还是可变数据类型。

到此这篇关于python数据类型可变不可变知识点总结的文章就介绍到这了,更多相关python的数据类型可变不可变内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python内置数据类型list各方法的性能测试过程解析

    这篇文章主要介绍了Python内置数据类型list各方法的性能测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 测试环境 本文所涉及的代码均在MacOS系统与CentOS7下测试,使用的Python版本为3.6.8. 测试模块 测试用的模块是Python内置的timeit模块: timeit模块可以用来测试一小段Python代码的执行速度. Timer类 class timeit.Timer(stmt='pass', setup='p

  • Python3变量与基本数据类型用法实例分析

    本文实例讲述了Python3变量与基本数据类型用法.分享给大家供大家参考,具体如下: 3.1保留字和标识符 3.1.1保留字 保留字是Python语言中已经被赋予特定意义的一些单词,开发程序时不可以把保留字作为变量.函数.类.模块和其他对象的名称来使用.保留字如下: 3.1.2标识符 标识符可以简单理解为一个名字,它主要用来标识变量.函数.类.模块和其他对象的名称. Python3语言标识符命名规格如下: 1)由字符.下划线"_"和数字组成,并且第一个字符不能为数字.和C语言差不多 2

  • 浅析python表达式4+0.5值的数据类型

    python中表达式4+0.5值的数据类型为? 表达式中4是整数.0.5是浮点数,所以它们相加的值类型是浮点型. >>> type(4+0.5) <class 'float'> 解析如下: Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数: 1 + 2 # ==> 整数 3 1.0 + 2.0 # ==> 浮点数 3.0 但是整数和浮点数混合运算的结果就变成浮点数了: 1 + 2.0 # ==> 浮点数 3.0 为什么要区分整数运算和浮点数运

  • Python变量、数据类型、数据类型转换相关函数用法实例详解

    本文实例讲述了Python变量.数据类型.数据类型转换相关函数用法.分享给大家供大家参考,具体如下: python变量的使用不需要进行类型声明(类型名 变量名),给一个变量名赋什么值就是什么类型. 变量的赋值使用 = 说明:虽然python声明变量时没有一个类型来圈注,但它并不是弱类型语言,相反,它是一门强类型语言. 弱类型的语言的东西没有明显的类型,它能随着环境的不同自动变换类型: 而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作 为什么说 Python 是强类型

  • Python3 使用map()批量的转换数据类型,如str转float的实现

    我们知道map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. 先看一下map()在python2和3中的区别 在python2中: in: a = [1,2,3];b = [2,3,4] c = map(lambda x,y:s+y,a,b) c out: [3, 5, 7] 返回的是list 在python3中: in: a = [1,2,3];b = [2,3,

  • python数据类型可变不可变知识点总结

    python的数据类型可变不可变 1.什么是可变不可变 首先说一下什么是Python数据的可变不可变. 我们都知道定义变量的时候,是先创建一块内存空间,将值放进去,然后变量名里存放着该内存空间的内存地址.现在我们就可以解释了. 可变类型:就是这个数据类型的值在不改变这一块内存空间,而去改变这个数据类型的值. 不可变类型:当改变值得时候,会申请一块新的内存空间,不再是原来的那一块内存空间了. 2.不可变类型 数据类型中,有哪些是不可变类型呢? 在Python设计中,整数.浮点型.字符串.元祖都是不

  • python中的不可变数据类型与可变数据类型详解

    前言 python与C/C++不一样,它的变量使用有自己的特点,当初学python的时候,一定要记住"一切皆为对象,一切皆为对象的引用"这句话,其实这个特点类似于JAVA,所以在python里面大家也不用担心类似于C/C++中的指针的复杂问题, 在python中数据分为可变数据类型,不可变数据类型. 所以在学习python过程中我们一定会遇到不可变数据类型和可变数据类型.下面话不多说了,来一起看看详细的介绍吧 1.名词解释 以下所有的内容都是基于内存地址来说的. 不可变数据类型: 当该

  • python数据类型可变与不可变深入分析

    目录 一.可变类型与不可变类型的特点 1.不可变数据类型 2.可变数据类型 二.哪些是可变类型哪些是不可变类型 一.可变类型与不可变类型的特点 1.不可变数据类型 不可变数据类型在第一次声明赋值声明的时候, 会在内存中开辟一块空间, 用来存放这个变量被赋的值,  而这个变量实际上存储的, 并不是被赋予的这个值, 而是存放这个值所在空间的内存地址, 通过这个地址, 变量就可以在内存中取出数据了. 所谓不可变就是说, 我们不能改变这个数据在内存中的值, 所以当我们改变这个变量的赋值时, 只是在内存中

  • 简单谈谈Python中函数的可变参数

    前言 在Python中定义函数,可以用必选参数.默认参数.可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数.默认参数.可变参数和关键字参数. 可变参数( * ) 可变参数,顾名思义,它的参数是可变的,比如列表.字典等.如果我们需要函数处理可变数量参数的时候,就可以使用可变参数. 我们在查看很多Python源码时,经常会看到 某函数(*参数1, **参数2)这样的函数定义,这个*参数和**参数就是可变参数,一时会让人有点费解.其实只要把函

  • python变量赋值方法(可变与不可变)

    python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址. 一.可变对象和不可变对象 Python在heap中分配的对象分成两类:可变对象和不可变对象.所谓可变对象是指,对象的内容可变,而不可变对象是指对象内容不可变. 不可变(immutable):int.字符串(string).float.(数值型number).元组(tuple) 可变(mutable):字典型(dictionary).列表型(list) 不可变类型特点: 看下面的例子(例1) i = 73 i +=

  • 详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或列表 关键字参数 关键字参数在python中习惯用**kw表示,可以传入0到任意多个"关键字-值",参数在函数内部被当做一个字典结构.例如 def testArg(**kw) def testArg(city,**kw) 可以这样调用他 testArg(name='John',job='h

  • python如何实现不可变字典inmutabledict

    这篇文章主要介绍了python如何实现不可变字典inmutabledict,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 关于在python中如何实现不可变字典的方法.早在pep416中,就建议python官方实现inmutabledict,但是官方否认了.理由主要是 根据Raymond Hettinger的说法,使用frozendict很愚蠢. 那些使用它的人倾向于仅将它用作提示,例如声明全局或类级别的"常量":它们实际上不是永久不

  • 浅谈Python数据类型之间的转换

    Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) 创建一个复数 str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列 s 转换为一个元组 list(s) 将序列 s 转换为一个

  • python数据类型_元组、字典常用操作方法(介绍)

    元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. tp=(1,2,3,'a','b') a = 'hello world' #这样定义是str类型 b = ('hello world') #定义元组时,如果只有一个元素,那么b的类型就是str c = ('hello world',) print(type(c)) 元组只有count和index方法,如下: tp = ('127.0

  • python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 = "hello bei jing " name2 = '''hello shang hai haha''' python中的字符串一旦声明,是不能进行更改的,如下: #字符串为不可变变量,即不能通过对某一位置重新赋值改变内容 name = 'hello' name[0] = 'k' #通

随机推荐