Python3 数据类型详解:掌握数据基石,编写高效程序

Python3 中的基本数据类型包括整数(int)、浮点数(float)、布尔值(bool)、字符串(str)、列表(list)、元组(tuple)、集合(set)和字典(dict)。这些数据类型在 Python 中被广泛应用,并且具有各自特定的用途和特点。

整数(int)

整数是 Python 中表示整数数字的数据类型。整数可以是正数、负数或零,没有数值的大小限制。

浮点数(float)

浮点数用于表示带有小数点的数字,如 3.14 或 -0.001。在 Python 中,浮点数采用 IEEE 754 标准表示,因此具有一定的精度限制。

布尔值(bool)

布尔值用于表示逻辑真(True)或逻辑假(False)。布尔值通常用于条件判断和逻辑运算中。

字符串(str)

字符串是一系列字符的集合,可以使用单引号(’ ')或双引号(" ")表示。字符串是不可变对象,可以进行各种操作,如拼接、切片、替换等。

列表(list)

列表是 Python 中最常用的数据类型之一,用于存储一系列有序的元素。列表使用方括号([ ])表示,可以包含任意类型的元素,且允许元素重复。

元组(tuple)

元组与列表类似,也是用于存储一系列有序的元素,但是元组是不可变的对象,使用圆括号(( ))表示。元组适合存储不可变的数据集合,如日期、坐标等。

集合(set)

集合是一种无序且不重复的集合,用于存储唯一的元素。集合使用花括号({ })表示,可以进行交集、并集、差集等操作。

字典(dict)

字典是一种键值对的集合,用于存储键值对的映射关系。字典使用花括号({ })表示,每个键值对之间用逗号(,)分隔,键值对之间是无序的。字典中的键必须是唯一的,但值可以重复。

基本语法

Python 中定义基本数据类型的语法非常简单:

# 定义整数类型
num = 10# 定义浮点数类型
pi = 3.14# 定义布尔值类型
is_true = True# 定义字符串类型
name = 'Alice'# 定义列表类型
my_list = [1, 2, 3, 4, 5]# 定义元组类型
my_tuple = (1, 2, 3)# 定义集合类型
my_set = {1, 2, 3, 4, 5}# 定义字典类型
my_dict = {'name': 'Alice', 'age': 25}

应用场景

整数、浮点数和布尔值
  • 整数(int):用于表示整数,如 1, 100, -10
  • 浮点数(float):用于表示带小数部分的数字,如 3.14, -0.01, 2.0
  • 布尔值(bool):用于表示真(True)或假(False)的值。

这些基本数据类型通常用于数值计算、条件判断和逻辑运算等。在进销存系统中,整数和浮点数常用于表示商品数量、价格等数据,布尔值常用于逻辑判断和条件控制。

字符串
  • 字符串(str):用于表示文本信息的序列,如 'hello', "world", '123'

字符串常用于表示文本信息、文件操作和字符串处理等。在进销存系统中,字符串可以用于表示商品名称、客户信息等文本数据。

列表、元组和集合
  • 列表(list):用于存储一组数据,数据可以是不同类型的元素,并且可以进行增删改查等操作。
  • 元组(tuple):类似于列表,但是元组是不可变的,一旦创建就不能修改。
  • 集合(set):用于存储一组唯一的元素,集合中的元素是无序的,且不重复。

列表、元组和集合常用于存储一组数据,并进行遍历、查找、添加和删除等操作。在进销存系统中,可以使用列表存储商品信息、销售记录等数据。

字典
  • 字典(dict):用于存储键值对的映射关系,适合用于构建数据字典、配置文件和数据传递等。

字典常用于存储键值对的映射关系,其中键是唯一的且不可变的,值可以是任意类型的数据。在进销存系统中,字典可以用于存储商品信息,其中商品编号作为键,商品名称、价格等信息作为值。

进销存示例

在一个进销存系统中,我们可以使用以上基本数据类型来存储和处理各种数据:

  • 整数和浮点数:用于表示商品的数量、价格、销售额等数值数据。
  • 布尔值:用于表示订单状态、库存状态等逻辑信息。
  • 字符串:用于表示商品名称、客户信息、订单号等文本信息。
  • 列表和元组:用于存储商品列表、订单详情等数据集合。
  • 字典:用于构建商品信息字典、客户信息字典等数据结构。

例如,我们可以使用以下代码来表示一个销售订单:

order = {'order_id': '20220508001','customer': 'Alice','products': ['Apple', 'Banana', 'Orange'],'quantities': [5, 10, 8],'unit_prices': [2.5, 1.8, 3.0],'total_price': 57.0,'is_paid': True,'is_shipped': False
}

在这个示例中,我们使用了字符串、列表、字典等数据类型来表示销售订单的各个信息,从订单号、顾客姓名到商品列表、数量、单价等详细信息都有所体现。

注意事项

字符串是不可变对象

在Python中,字符串是不可变对象,这意味着一旦创建了字符串,就无法直接修改其内容。每次对字符串进行修改操作时,都会创建一个新的字符串对象,而原始字符串对象保持不变。

str1 = "hello"
str2 = str1.upper()  # 创建一个新的字符串对象
print(str1)  # 输出:hello
print(str2)  # 输出:HELLO
列表和字典是可变对象

列表和字典是Python中的可变对象,可以进行增删改查等操作。但要注意,对列表和字典的修改操作可能会影响其他部分代码的执行逻辑。

# 列表示例
my_list = [1, 2, 3]
my_list.append(4)  # 添加元素4
print(my_list)  # 输出:[1, 2, 3, 4]# 字典示例
my_dict = {'a': 1, 'b': 2}
my_dict['c'] = 3  # 添加键值对
print(my_dict)  # 输出:{'a': 1, 'b': 2, 'c': 3}
集合中元素的唯一性

集合是Python中的一种数据结构,用于存储一组唯一的元素。在使用集合时,要注意集合中元素的唯一性,避免出现重复元素。

my_set = {1, 2, 3, 3, 4}  # 创建集合,注意重复元素会被自动去重
print(my_set)  # 输出:{1, 2, 3, 4}
字典键的唯一性

在使用字典时,要确保键的唯一性,否则可能会导致数据覆盖或混乱的情况。

my_dict = {'a': 1, 'b': 2, 'a': 3}  # 注意键'a'重复
print(my_dict)  # 输出:{'a': 3, 'b': 2},键'a'的值被覆盖为3

进销存示例

在进销存系统中,我们经常会遇到需要处理字符串、列表和字典等数据类型的情况,例如:

  • 使用字符串表示商品名称、订单号、客户姓名等文本信息。
  • 使用列表存储商品列表、订单详情等数据集合。
  • 使用字典表示商品信息、客户信息等数据结构。
# 示例:使用字典存储商品信息
product_info = {'product_id': 'P001','name': 'Apple','price': 2.5,'stock': 100
}# 示例:使用列表存储订单详情
order_details = [{'product_id': 'P001', 'quantity': 5},{'product_id': 'P002', 'quantity': 10},{'product_id': 'P003', 'quantity': 8}
]

在这个示例中,我们使用了字符串、列表和字典等数据类型来表示商品信息和订单详情等数据,从而实现了进销存系统中的数据存储和处理功能。

总结

Python 中的基本数据类型包括整数、浮点数、布尔值、字符串、列表、元组、集合和字典。这些数据类型在 Python 编程中扮演着重要的角色,应用广泛,具有各自特定的用途和特点。熟练掌握这些数据类型及其使用方法,对于编写高效、可靠的 Python 程序至关重要。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA static注入 Util使用之Service注入

一般在Util等静态方法中调用Service或mapper,初始化后会出现空指针异常:java.lang.NullPointerException。 代码执行优先级的问题,在一个Java类中,存在着静态代码块,静态方法,构造函数,成员方法等等。不同…

golang中的类和接口

类 在 Go 语言中并没有类的概念,而是使用结构体来实现面向对象的特性。通过 type 关键字可以定义自定义类型,包括结构体类型。下面是一个简单的示例: package mainimport "fmt"// 定义一个结构体类型 type Person struct {Name s…

只对外公开必要的信息和步骤

隐藏内部结构 使对象的内部结构对外部不可见的内容的处理被称为封装化。只公开方法等使用者所需要的最低限度的接口,使用者只能通过外部接口进行访问。如此一来,使用该类的程序就无须知道其内部的具体实现。 通过封装化,不仅可以防止调用者…

Node.js安装及环境配置(超详细!保姆级!!)

目录 一、进入官网地址下载安装包 二、安装程序 三、环境配置 四、测试 五、安装淘宝镜像 一、进入官网地址下载安装包 Node.js — Download Node.js (nodejs.org) 选择对应你系统的 node.js 版本,我选择的是Windows系统,64位 点击图中选项&#…

无人机+应急通信:灾害现场应急通信车技术详解

无人机和应急通信车是灾害现场应急通信中的重要技术。无人机可以通过快速到达灾害现场,搭载高清摄像头、红外热成像仪、激光雷达等设备,对灾区进行实时监测和灾情评估,同时也可以通过搭载的通信设备,与指挥中心进行实时通信和数据…

APP逆向实现方式总览

方式一:硬核分析 梳理出参数的构造逻辑,代码还原算法 方式二:模拟执行 2.1 Frida-RPC 电脑调用已加载到手机内存中的方法,直接获取到结果 2.2 AndServer-RPC 安卓程序调用手机中的方法,最后暴露成HTTP服务供电脑…

✅什么是排他锁、共享锁、意向锁

共享锁 共享锁,又被称为读锁,是由读取操作所创建的一种锁。在此期间,其他用户可以同时读取数据,但在数据上未释放所有共享锁之前,任何事务均无法对其进行修改(即获取数据的排他锁)。 一旦事务…

202009青少年软件编程(Python)等级考试试卷(三级)

第 1 题 【单选题】 通过算式123122021120可将二进制1101 转为十进制,下列进制转换结果正确的是?( ) A :0b10转为十进制,结果是2 B :0d10转为十进制,结果是8 C :0x10转为十进制,结果是10 D :0o10转为十进制,结果是16 正确答案:A 试题解析: 第 2 题 【单选题】 语句flo…

基于Nios-II实现流水灯

文章目录 一、新建项目1、选择芯片2、Qsys设计2.1、点击Platform Designer2.2配置软核2.3其他设置 3、Quartus设计3.1添加原理图3.2添加qip文件3.3其他设置3.4驱动设置 4、Nios-II Eslipse设计参考 一、新建项目 使用的Quartus 18.0及以上版本 1、选择芯片 2、Qsys设计 2.1、点…

【AIGC调研系列】你好-GPT-4o

GPT-4o是OpenAI最新发布的一款人工智能模型,它具备处理和生成文本、音频和图像的能力。这个模型的特点是能够实时对这些不同类型的输入进行推理和响应,这使得它在多模态交互方面表现出色[1][2][3]。 GPT-4o的“o”代表“omni”,意味着它是一…

【复试分数线】综合性985历年分数线汇总(第四弹)

国家线和34所自划线 可以看作是考研上岸最最最基础的门槛。真正决定你能不能进入复试的还要看院线(复试分数线)!今天我将分析考信号的除C9、工科类985的其他7所985近三年复试分数线(不包括2024),大家可以参…

Azure IoT Hub是啥

1.概要说明 Azure IoT Hub是微软在物联网(IoT)领域提供的一款重要产品,为设备连接和管理提供了专业的解决方案。以下是关于Azure IoT Hub的详细介绍: 定义:Azure IoT Hub是一个专为连接和管理数百万台物联网设备而设计…

flutter开发实战-人脸识别相机使用

flutter开发实战-人脸识别相机使用 当需要拍摄的时候,需要检测到人脸再进行后续的操作,这里使用的是face_camera 一、引入face_camera 在工程的pubspec.yaml中引入插件 # 检测人脸face_camera: ^0.0.8iOS端需要设置相关权限 在info.plist文件中&…

如何按住ctrl滑动鼠标桌面图标大小不变

如何按住ctrl滑动鼠标桌面图标大小不变 采取以下步骤: 1、鼠标在电脑桌面空白处单击右键,然后在弹出的对话框最上面有个“查看”,点击“查看”出来的最上面有“大图标”“中等图标”“小图标”,根据自己的需要选择图标大小即可。…

网络安全快速入门(九)MySQL进阶操作

上一章我们了解了对表及库的基本增删查改操作,本章我们针对增删查改内容进行与一些拓展, 9.1字段修饰及数据类型 我们之前在创建表时用到的格式为: create table 表名 ( 字段名1 字段数据类型(数据类型长度), 字段名2 …

Pytorch学习-调整torchvision.models中模型输出类别数

假设你的类别只有10个,而torchvision.models中Vgg16的输出类别为1000,这时应该如何调整呢? 方法一,直接修改模型中类别的输出。 from torch.nn import Linear import torchvision import torchVgg16torchvision.models.vgg16(pre…

华为认证大数据是什么?华为认证大数据有用吗?

华为大数据是用来搜集整理大数据,提供解决方案的数据中心。华为大数据解决方案是华为公司推出的一种综合性云解决方案,主要针对广告营销、电商、车联网等大数据应用场景的云计算大数据方案,帮助企业用户构建大数据平台,解决企业的…

GRE over IPsec VPN实验

一、拓扑图 二、组网需求 某企业总部、分支1、分支2分别通过 R1,R3,R4 接入互联网,配置默认路由连通公网按照图示配置 IP 地址,R1,R3,R4 分别配置 Loopback0 口匹配感兴趣流,Loopback1 口模拟业…

GPIO输出速度(ARM-GD32)

单片机输出速度对GPIO硬件的影响 如果T为100ns 那么2/3*100ns 67ns 那么tr tf 38 ns (也就是不能超过32ns) tr 和tf和什么东西有关如何去控制 CL 是一个电容,电容会改变和影响电压变化的速率,输出高低电平也就是对电容进行充电…

【噪声学习】SELFIE:更新不干净样本的鲁棒性深度学习

SELFIE: Refurbishing Unclean Samples for Robust Deep Learning 摘要: 由于深度神经网络具有极高的表达能力,其副作用是即使在标签噪声极高的情况下也能完全记住训练数据。为了克服对噪声标签的过度拟合,我们提出了一种名为 SELFIE 的新型鲁棒训练方法。我们的主要想法是…