Python 数据类型

news/2024/10/6 12:33:03

Python 数据类型

Python 的数据类型大致可以分为两大类:基本数据类型和容器数据类型。基本数据类型通常指的是单一、不可分割的数据对象,而容器数据类型则用于存储多个数据对象的集合。如下图所示:
image

基本数据类型

整型(int)

整型数据用于表示整数。Python 中的整型变量没有固定的长度限制,可以存储任意大小的整数(受限于可用内存)。可以使用 type() 函数检查变量的数据类型。此外,int() 函数可以将浮点数或数字字符串转换为整型。

a = 2
print(type(a))  # 输出: <class 'int'>

浮点型(float)

浮点型数据用于表示数学中的小数。在 Python 中,浮点数的精度类似于 C 语言中的 double 类型。整数与浮点数进行算术运算的结果通常是浮点型。float() 函数可以将整数或字符串转换为浮点数。

a = 2.2
print(type(a))  # 输出: <class 'float'>

布尔型(bool)

布尔型数据只有两个取值:True 和 False。在 Python 中,布尔型是一个独立的数据类型。其他数据类型(如整数、字符串等)在特定条件下也可以作为布尔值使用,其中 0、空字符串、空的列表、空的元组、空的集合以及 None 通常被视为 False,而非零、非空容器类型则被视为 True。bool() 函数可以将其他类型转换为布尔型。

a = bool([])
print(type(a))  # 输出: <class 'bool'>

None(空值)

None 是 Python 中的一个特殊常量,表示空值或没有值。None 有自己的数据类型 NoneType,与 False、0 或空字符串不同。None 可以被赋给任何变量,但不能创建其他 NoneType 对象。

a = None
print(type(a))  # 输出: <class 'NoneType'>

None 通常用于表示变量没有值或函数没有返回值(在 Python 中,没有返回值的函数默认返回 None)。

容器数据类型

字符串(str)

字符串是由字符组成的序列,它们被单引号、双引号或三引号(连续的三个单引号或双引号)所包围。作为序列类型,字符串中的各个元素可以通过索引来访问,索引从0开始计数。字符串是不可变的,意味着一旦创建,其内容就不能被修改。

a = "None"
print(type(a))  # 输出a的类型为: <class 'str'>

列表(list)

列表是一种有序的数据集合,可以包含不同类型的元素,且元素可以重复。列表使用方括号[]表示,元素之间用逗号,分隔。列表是可变的,支持添加、删除和修改元素,也支持嵌套和多种内置方法。此外,列表可以通过加法和乘法进行扩展和重复。

a = [1, 2, 3]
print(type(a))  # 输出a的类型为: <class 'list'>

元组(tuple)

元组与列表相似,但它是不可变的,可以看作是一个只读的列表。元组使用圆括号()表示,元素之间也用逗号,分隔。元组支持任意类型的元素、嵌套以及常见的序列操作,但由于其不可变性,一旦创建就不能修改其内容。

a = (3,)  # 注意单个元素的元组需要在元素后加逗号
print(type(a))  # 输出a的类型为: <class 'tuple'>

字典(dict)

字典是一种无序的映射类型,它使用键-值对(key-value pair)来存储数据。字典中的每个键必须是唯一的,而值可以重复。字典使用大括号{}表示,键和值之间用冒号:分隔,不同的键-值对之间用逗号,分隔。由于字典是无序的,因此不支持通过数字索引来访问元素。

# 注意:字典中不能有重复的键,下面的示例中第二个键值对会覆盖第一个
a = {1: 3, 1: 4}  # 实际存储的只会是 {1: 4}
print(type(a))  # 输出a的类型为: <class 'dict'>

可变集合(set)

可变集合是一个无序且不包含重复元素的集合。由于它是无序的,因此不支持索引操作。可变集合允许动态地添加和删除元素。由于它是可变的,因此不能作为其他集合的元素或字典的键。

a = set('cheeseshop')
print(type(a))  # 输出a的类型为: <class 'set'>

不可变集合(frozenset)

不可变集合与可变集合相似,也是一个无序且不包含重复元素的集合。然而,与可变集合不同的是,不可变集合一旦创建,其内容就不能被修改。由于它具有哈希值,因此可以作为其他集合的元素或字典的键。

a = frozenset('cheeseshop')
print(type(a))  # 输出a的类型为: <class 'frozenset'>

参考资料

https://blog.csdn.net/weixin_51202460/article/details/123833339

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/43030.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

[转帖]探索fio参数如何选择以及全方位对比HDD和SSD性能

文章目录 1. 磁盘I/O性能指标1.1 性能指标1.2 I/O 观测1.2.1 磁盘I/O 观测1.2.2 进程I/O观测 2. Fio 性能测试2.1 环境准备2.2 测试维度选择2.3 测试2.3.1 optane ssd和nvme ssd性能测试2.3.2 aep性能测试(intel persistent memory) 真正测试之前 我们需要清楚 评判磁盘I/O性能…

3. 使用Mybatis完成CRUD

前置工作准备创建Maven项目 , 引入依赖(mybatis依赖 ,mysql 驱动依赖 ,junit依赖 ,logback 依赖) 将xml文件放到类的根路径下 提供com.north.mybatis.utils.SqlSessionUtil工具类 创建测试用例:com.north.mybatis.CarMapperTest‍ 补充知识:什么是CRUD C: Create增 R: Re…

[转帖]JDK/Java 17 GA,新增「Free Java License」

https://zhuanlan.zhihu.com/p/410556607 按照发布规划,JDK/Java 17 属于长期支持版本 (LTS),将会获得 8 年的技术支持,直至 2029 年 9 年。JDK/Java 17 总共包含 14 个 JEP,具体如下:Restore Always-Strict Floating-Point Semantics 恢复始终执行严格模式 (Always-Str…

解密Prompt系列31. LLM Agent之从经验中不断学习的智能体

模型想要完成自主能力进化和自主能力获得,需要通过Self-Reflection from Past Experience来实现。那如何获得经历,把经历转化成经验,并在推理中使用呢?本章介绍三种方案Agent智能体的工作流可以简单分成两种:一种是固定的静态工作流,一种是智能体自主决策的动态工作流。 …

06-伪类和伪元素

伪类和伪元素01-伪类 1.1 元素状态的概念代码示例 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewp…

05-常用选择器

CSS常用选择器01 标签选择器 一般用来给所有元素做一些通用性的设置(效率比较低,尽量不要使用) <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="…

鸿蒙前端开发3-ArkTS语言基本语法

官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-basic-syntax-0000001504650057-V2 1.基本语法 装饰器   用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry、@Component和@State都是装饰器,@Component表示自定…

04-2个常用的文本属性

2个常用的文本属性01 text-decoration <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" c…