Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。

其中数字又包含整型(整型又包括标准整型、长整型(Python2.7及之前版本有))、浮点型、复数类型、布尔型(布尔型就是只有两个值的整型)、这几种数字类型。列表、元组、字符串都是序列。

数字

数字类型是不可更改的对象。对变量改变数字值就是生成/创建新的对象。Python支持多种数字类型:

整型(标准整型和长整型(Python2.7及之前的有这种类型))、布尔型、双精度浮点型、十进制浮点型、复数。

标准整型

int,标准整型,在大多数32位机器上标准整型取值范围是-2^31到2^31-1,也就是-2147483648~2147483647,如果在64位机器使用64位编译器,那么这个系统的标准整型将是64位。

布尔型

bool,从Python2.3开始Python中添加了布尔类型。布尔类型有两种True和False。对于没有__nozero__方法的对象默认是True。

对于值为0的数字、空集(空列表、空元组、空字典等)在Python中的布尔类型中都是False。>>> bool(1)

True

>>> bool('a')

True

>>> bool(0)

False

>>> bool('')

False

浮点型

float,每个浮点型占8个字节(64位),完全遵守IEEE754号规范(52M/11E/1S),其中52个位用于表示底,11个位用于表示指数(可表示的范围大约是±10**308.25),剩下的一个位表示符号。这看上去相当完美,然而,实际精度依赖于机器架构和创建Python解释器的编译器。

浮点型值通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法)。在e和指数之间可以用正(+)或负(-)表示指数的正负(正数的话可以省略符号)。

以上是Python核心编程的对浮点型(双精度浮点型)的说明。经过Python实测浮点型默认长度是24字节如果超出这个范围会自动

复数类型

complex,在复数中虚数不能单独存在,它们总是和一个值为0.0的实数部分一起来构成一个复数。

复数由实数部分和虚数部分构成。

表示虚数的语法:real+imagj。

实数部分和虚数部分都是浮点型。

虚数部分必须有后缀j或J。

字符串

字符串(string)是不可变类型,就是说改变一个字符串的元素需要新建一个新的字符串。字符串是由独立的字符组成的,并且这些字符可以通过切片操作顺序地访问。Python里面通过在引号间包含字符的方式创建字符串,单引号和双引号的作用是相同的。

Python用“原始字符串”操作符来创建直接量字符串,所以再做区分就没什么意义了。其他的语言,比如C语言里面用单引号来标示字符,双引号标示字符串,而在Python里面没有字符这个类型。这可能是双引号和单引号在Python里面被视作一样的另一个原因。

Python实际上有三类字符串。通常意义的字符串(str) 和Unicode字符串(unicode) 实际上都是抽象类basestring的子类。这个basestring是不能实例化的。

列表

列表(list)像字符串类型一样,列表类型也是序列式的数据类型。字符串只能由字符组成,而且是不可变的(不能单独改变它的某个值),而列表则是能保留任意数目的Python对象的灵活的容器。

列表不仅可以包含Python的标准类型,而且可以用用户定义的对象作为自己的元素。列表可以包含不同类型的对象,而且要比C或者Python自己的数组类型(包含在array扩展包中)都要灵活,因为数组类型所有的元素只能是一种类型。列表可以执行pop,sort、reverse等操作。列表也可以添加或者减少元素,还可以跟其他的列表结合或者把一个列表分成几个。可以对单独一个元素或者多个元素执行insert、update或remove操作。

元组

元组类型在很多操作上都跟列表一样,许多用在列表上的例子在元组上照样能跑,我们有一节内容专门讲解元组类型。它们的主要不同在于元组是不可变的,或者说是只读的,所以那些用于更新列表的操作,比如用切片操作来更新一部分元素的操作,就不能用于元组类型。

字典

字典是Python语言中唯一的映射类型。映射类型对象里哈希值(键,key) 和指向的对象(值。value) 是一对多的关系。一个字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也包括其他容器类型。字典类型和序列类型容器类(列表、元组) 的区别是存储和访问数据的方式不同。序列类型只用数字类型的键(从序列的开始起按数值顺序索引) 。映射类型可以用其他对象类型做键,一般最常见的是用字符串做键。和序列类型的键不同,映像类型的键直接或间接地和存储的数据值相关联。但因为在映射类型中,我们不再用“序列化排序”的键,所以映像类型中的数据是无序排列的映射类型不要求用数字值做索引以从一个容器中获取对应的数据项。你可以用键直接“映射”到值,这就是为什么叫映射类型(“mappingtype”) 的原因。映射类型通常被称做哈希表,是因为字典对象就是哈希类型的。字典是Python中最强大的数据类型之一。

字典常见的操作有:字典创建、字典赋值、字典中值的访问、字典更新、字典元素删除等操作。

集合

集合最早出现在Python2.3版本中,通过集合模块来创建,并通过ImmutableSet类和Set类进行访问。

集合有两种不同的类型,可变集合(set)和不可变集合(frozenset)。可变集合,你可以添加和删除元素,对不可变集合则不允许这样做。请注意,可变集合不是可哈希的,因此既不能用做字典的键也不能做其他集合中的元素。不可变集合则正好相反,即,他们有哈希值,能被用做字典的键或是作为集合中的一个成员。集合对象是一组无序排列的可哈希的值。

集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小) ,用for循环迭代集合的成员。但是因为集合本身是无序的,你不可以为集合创建索引或执行切片(slice) 操作,也没有键可用来获取集合中元素的值。

python类型-python语言中的数据类型有哪些相关推荐

  1. c语言中非法使用void类型_C语言中的数据类型

    为什么需要介绍数据类型 学习语言编程,不用急着写代码,先搞懂基本概念.有了基本概念后,然后再考虑在不同的语言中是如何表达的.不同语言无非就是表达方式不一样而已,万变不离其宗. 每一门语言开始部分中总是 ...

  2. C语言初阶-C语言中的数据类型以及变量的作用域和生命周期,常量的类型

    看之前记得先点赞收藏呦!谢谢大家的支持! 目录 一.c语言中的数据类型 注意:这里的long型的定义是>=int所占字节数,所以占4个是没有问题的 二.变量和常量 1.变量的类型 2.变量的作用 ...

  3. C语言中的数据类型及其转换详解

    http://www.cnblogs.com/jpcflyer/archive/2012/02/16/2353447.html 1. C语言中的数据类型 C语言中的类型按其组成可以分为简单类型和构造类 ...

  4. 软硬件学习记录5—— Verilog语言中的数据类型

    Verilog语言中的数据类型 在 Verilog 语言中,主要有三大类数据类型:寄存器数据类型.线网数据类型和参数数据类型. 1.寄存器类型 reg 1.1 概述: 寄存器数据类型的关键字是 reg ...

  5. c语言各种数据类型长度,C语言中各种数据类型长度

    C语言中各种数据类型长度 C语言的基本数据类型有以下几个: int整型 char字符型 float单精度浮点型 double双精度浮点型 另外,在基本数据类型基础上附加一些限定词,得到扩充的数据类型. ...

  6. C语言 中的 数据类型 超详解

    C语言 中的 数据类型 超详解 一.整型(int.short.long.long long) 1.有符号整型 有符号整型的数据类型通常包括 int.short.long.long long 四种,因为 ...

  7. Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器

    Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型 ...

  8. c语言程序设计中数据类型有哪些,c语言中基本数据类型有哪些

    c语言中基本数据类型有哪些 发布时间:2020-08-18 11:12:49 来源:亿速云 阅读:135 作者:小新 小编给大家分享一下c语言中基本数据类型有哪些,相信大部分人都还不怎么了解,因此分享 ...

  9. python语言的三种数字类型_Python语言中的类型之数字类型--Python(10)

    数据从不一样的角度能够用不一样的含义去解释它,如: 10,011,101 对上面这个数据,咱们有以下多种含义去解释它: 1)它是1个二进制数字,或者是1个十进制数字: 2)一段文本: 3)用 , 号分 ...

最新文章

  1. Go 分布式学习利器(19)-- Go并发编程 之 CSP(communicating sequential processes) 机制
  2. CTO说:Service层的接口是不是多此一举
  3. ICML2021 | 自提升策略规划真实且可执行的分子逆合成路线
  4. SharedPreferences小细节
  5. linux环境下配置虚拟主机域名,Linux下三种虚拟主机的配置方法
  6. BZOJ2759 一个动态树好题
  7. Netty工作笔记0073---Neety的出站和入站机制
  8. [20171120]bash使用here documents的细节
  9. Atitit uke人才分类 杰出人才 高级人才、专业技术人才、技能人才 杰出人才移民共包含科技丶艺术丶工商丶运动及教育五大领域 杰出人才定义 编辑 联邦移民法规定「杰出能力」是指在科学丶艺
  10. 大型体检系统源码,PEIS医院体检管理系统源码
  11. php redis地址和端口号,redis默认端口是什么
  12. Android 实现adb手机投屏
  13. 【SpringBoot 】 十三、使用Redis
  14. linux下tomcat的访问权限,关于Linux权限引起的Tomcat项目404问题
  15. zookeeper(3)—— zk客户端的使用
  16. 我的一百个2019(三):2019,我赚钱了!
  17. C语言库函数strstr、strch
  18. javaWeb基础一:JDBC (java操作数据库的技术)
  19. springboot集成netty实现代理服务器
  20. sqlserver 与access,excel互相导入导出代码

热门文章

  1. 谷歌浏览器添加JSON-Handle插件
  2. 2018年春季个人阅读计划
  3. 自建MySQL5.6数据库查询优化
  4. 使用Github+Hexo框架搭建部署自己的博客
  5. tableView 删除一行后下一行点击事件被忽略
  6. [转载] Handbook of Constraint Programming——Chapter1 Introduction
  7. .CS文件编译生成.DLL文件 .EXE文件(C#网络搜集)(转)
  8. 【堆栈应用一】一个数divided=几个最小质因数的乘积
  9. 【转载】详解 Spring 3.0 基于 Annotation 的依赖注入实现
  10. HibernateTemplate 的常见用法