一文搞懂 Python 3 中的数据类型
介绍
在 Python 中,与所有编程语言一样,数据类型用于对一种特定类型的数据进行分类。这很重要,因为您使用的特定数据类型将决定您可以为其分配哪些值以及您可以对其执行哪些操作(包括可以对其执行哪些操作)。
1. 数字
您在 Python 中输入的任何数字都将被解释为数字;您不需要声明要输入的数据类型类型。Python 会将任何不带小数的数字视为整数(如 138 ),将任何用小数写入的数字视为浮点数(如 138.0 )。
整数
与数学一样,计算机编程中的整数是整数,可以是正数、负数或 0 (…, , , , -1 0 1 …)。整数也可以称为 int .与其他编程语言一样,不应在四位数或更多数字中使用逗号,因此当您在程序中写入 1,000 时,请将其写成 1000 .
我们可以像这样打印出一个整数:
print(-25)
或者,我们可以声明一个变量,在这种情况下,它本质上是我们正在使用或操作的数字的符号,如下所示:
my_int = -25
print(my_int)
我们也可以在 Python 中使用整数进行数学运算:
int_ans = 116 - 68
print(int_ans)
浮点数
浮点数可以是可以包含小数部分的数字,例如 9.0 或 -116.42 。
就像我们对整数所做的那样,我们可以打印出一个浮点数,如下所示:
print(17.3)
我们还可以声明一个代表浮点数的变量,如下所示:
my_flt = 17.3
print(my_flt)
而且,就像整数一样,我们也可以在 Python 中使用浮点数进行数学运算:
flt_ans = 564.0 + 365.24
print(flt_ans)
对于整数和浮点数,重要的是要记住 3 ≠ 3.0,因为 3 指的是整数,而 3.0 指的是浮点数。
2. 布尔值
Boolean 数据类型可以是以下两个值之一:True 或 False。布尔值用于表示与数学逻辑分支相关的真值。
数学中的许多运算都为我们提供了计算为 True 或 False 的答案:
- 大于
- 500 > 100: True
- 1 > 5: False
- 小于
- 200 < 400: False
- 4 > 2: False
- 平等
- 5 = 5: True
- 500 = 400: False
与数字一样,我们可以将布尔值存储在变量中:
my_bool = 5 > 8
然后,我们可以通过调用函数 print() 来打印布尔值:
print(my_bool)
输出:
False
3. 字符串
字符串是一个或多个字符(字母、数字、符号)的序列,可以是常量,也可以是变量。在 Python 中,字符串存在于单引号 ' 或双引号 "中,因此要创建字符串,请将一系列字符括在引号 " 中:
'This is a string in single quotes.'
您可以选择使用单引号或双引号,但无论您决定使用哪种引号,都应该在程序中保持一致。
基本程序 “Hello, World!” 演示了如何在计算机编程中使用字符串,因为组成短语的字符 Hello, World! 是字符串。
print("Hello, World!")
与其他数据类型一样,我们可以将字符串存储在变量中:
hw = "Hello, World!"
并通过调用变量打印出字符串:
print(hw)
输出:
Hello, World!
像数字一样,我们可以在程序中对字符串执行许多操作,以便操纵它们以实现我们想要的结果。比如字符串连接、字符替换等。
4. 列表
列表是可变的有序元素序列。列表中的每个元素或值都称为一个项。正如字符串被定义为引号之间的字符一样,列表是通过在方括号 [] 之间插入值来定义。
整数列表如下所示:
[-3, -2, -1, 0, 1, 2, 3]
浮点列表如下所示:
[3.14, 9.23, 111.11, 312.12, 1.05]
字符串列表:
['shark', 'cuttlefish', 'squid', 'mantis shrimp']
如果我们将字符串列表定义为 sea_creatures :
sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp']
我们可以通过调用变量来打印它们:
print(sea_creatures)
输出看起来与我们创建的列表完全相同:
['shark', 'cuttlefish', 'squid', 'mantis shrimp']
列表是一种非常灵活的数据类型,因为它们是可变的,因为它们可以添加、删除和更改值。有一种数据类型类似于列表,但无法更改,称为元组。
5. 元组
元组用于对数据进行分组。它是一个不可变或不可更改的有序元素序列。
元组与列表非常相似,但它们使用括号 ( ) 而不是方括号,并且由于它们是不可变的,因此无法修改其值。
元组如下所示:
('blue coral', 'staghorn coral', 'pillar coral')
我们可以将元组存储在变量中并打印出来:
coral = ('blue coral', 'staghorn coral', 'pillar coral')
print(coral)
输出:
('blue coral', 'staghorn coral', 'pillar coral')
与其他数据类型一样,Python 打印出元组,就像我们输入它一样,括号包含一系列值。
6. 字典
字典是 Python 的内置映射类型。这意味着字典将键映射到值,这些键值对是在 Python 中存储数据的有用方法。字典的两侧 { } 都是用大括号构成的。
字典通常用于保存相关的数据,例如 ID 中包含的信息,如下所示:
{'name': 'Sammy', 'animal': 'shark', 'color': 'blue', 'location': 'ocean'}
您会注意到,除了大括号外,整个字典中还有冒号。冒号左边的单词是键。键可以由任何不可变的数据类型组成。上面字典中的键是: ‘name’, ‘animal’, ‘color’, ‘location’ 。
冒号右边的单词是值。值可以由任何数据类型组成。上面字典中的值是: ‘Sammy’, ‘shark’, ‘blue’, ‘ocean’ 。
像其他数据类型一样,让我们将字典存储在变量中,然后打印出来:
sammy = {'name': 'Sammy', 'animal': 'shark', 'color': 'blue', 'location': 'ocean'}
print(sammy)
输出:
{'color': 'blue', 'animal': 'shark', 'name': 'Sammy', 'location': 'ocean'}
字典用于存储键值对,是非常常用的一种数据类型。
相关文章:
一文搞懂 Python 3 中的数据类型
介绍 在 Python 中,与所有编程语言一样,数据类型用于对一种特定类型的数据进行分类。这很重要,因为您使用的特定数据类型将决定您可以为其分配哪些值以及您可以对其执行哪些操作(包括可以对其执行哪些操作)。 1. 数字…...
学习笔记之——3D Gaussian Splatting源码解读
之前博客对3DGS进行了学习与调研 学习笔记之——3D Gaussian Splatting及其在SLAM与自动驾驶上的应用调研-CSDN博客文章浏览阅读450次。论文主页3D Gaussian Splatting是最近NeRF方面的突破性工作,它的特点在于重建质量高的情况下还能接入传统光栅化,优…...
Flink standalone集群部署配置
文章目录 简介软件依赖部署方案二、安装1.下载并解压2.ssh免密登录3.修改配置文件3.启动集群4.访问 Web UI 简介 Flink独立模式(Standalone)是部署 Flink 最基本也是最简单的方式:所需要的所有 Flink 组件, 都只是操作系统上运行…...
Python: + 运算符、append() 方法和 extend()方法的区别和用法
在Python中,有几种常见的方式可以向列表中添加元素,其中包括使用 运算符、append() 方法和 extend() 方法。 使用 运算符: 运算符用于合并两个列表。 通过创建一个新列表,包含两个被合并的列表的元素。不会修改原始列表&…...
【MySQL】mysql集群
文章目录 一、mysql日志错误日志查询日志二进制日志慢查询日志redo log和undo log 二、mysql集群主从复制原理介绍配置命令 读写分离原理介绍配置命令 三、mysql分库分表垂直拆分水平拆分 一、mysql日志 MySQL日志 是记录 MySQL 数据库系统运行过程中不同事件和操作的信息的文件…...
zabbix监控windows主机
下载安装zabbix agent安装包 Zabbix官网下载地址: https://www.zabbix.com/cn/download_agents?version5.0LTS&release5.0.40&osWindows&os_versionAny&hardwareamd64&encryptionOpenSSL&packagingMSI&show_legacy0 这里使用zabbix agent2 安装 …...
单例模式的八种写法、单例和并发的关系
文章目录 1.单例模式的作用2.单例模式的适用场景3.饿汉式静态常量(可用)静态代码块(可用) 4.懒汉式线程不安全(不可用)同步方法(线程安全,但不推荐用)同步代码块…...
基于实时Linux+FPGA实现NI CompactRIO系统详解
利用集成的软件工具链,结合信号调理I/O模块,轻松构建和部署实时应用程序。 什么是CompactRIO? CompactRIO系统提供了高处理性能、传感器专用I/O和紧密集成的软件工具,使其成为工业物联网、监测和控制应用的理想之选。实时处理器提…...
Webhook端口中的自定义签名身份认证
概述 如果需要通过 Webhook 端口从交易伙伴处接收数据,但该交易伙伴可能对于安全性有着较高的要求,而不仅仅是用于验证入站 Webhook 要求的基本身份验证用户名/密码,或者用户可能只想在入站 Webhook 消息上增加额外的安全层。 使用 Webhook…...
用Linux的视角来理解缓冲区概念
缓冲区的认识 缓冲区(buffer)是存储数据的临时存储区域。当我们用C语言向文件中写入数据时,数据并不会直接的写到文件中,中途还经过了缓冲区,而我们需要对缓冲区的数据进行刷新,那么数据才算写到文件当中。…...
C#中Enumerable.Range(Int32, Int32) 方法用于计算
目录 一、关于Enumerable.Range(Int32, Int32) 方法 1.定义 2.Enumerable.Range()用于数学计算的操作方法 3.实例1:显示整型数1~9的平方 4.实例2:显示整型数0~9 5.实例3:Enumerable.Range()vs for循环 &#x…...
Linux和windows进程同步与线程同步那些事儿(四):windows 下进程同步
Linux和windows进程同步与线程同步那些事儿(一) Linux和windows进程同步与线程同步那些事儿(二): windows线程同步详解示例 Linux和windows进程同步与线程同步那些事儿(三): Linux线…...
1. Logback介绍
Logback介绍 Logback旨在成为流行的log4j项目的继任者。它由Ceki Glc设计,他是log4j的创始人。它基于十年在设计工业级日志系统方 面的经验。结果产品,即logback,比所有现有的日志系统更快,具有更小的占用空间,有时差距…...
SqueezeNet:通过紧凑架构彻底改变深度学习
一、介绍 在深度学习领域,对效率和性能的追求往往会带来创新的架构。SqueezeNet 是神经网络设计的一项突破,体现了这种追求。本文深入研究了 SqueezeNet 的复杂性,探讨其独特的架构、设计背后的基本原理、应用及其对深度学习领域的影响。 在创…...
Python:正则表达式之re.group()用法
Python正则表达式之re.group()用法学习笔记 正则表达式是在处理字符串时非常有用的工具,而re.group()是在匹配到的文本中提取特定分组内容的方法之一。 1. re.group()的基本用法 在正则表达式中,通过圆括号可以创建一个或多个分组。re.group()用于获取…...
Shiro框架:Shiro登录认证流程源码解析
目录 1.用户登录认证流程 1.1 生成认证Token 1.2 用户登录认证 1.2.1 SecurityManager login流程解析 1.2.1.1 authenticate方法进行登录认证 1.2.1.1.1 单Realm认证 1.2.1.2 认证通过后创建登录用户对象 1.2.1.2.1 复制SubjectContext 1.2.1.2.2 对subjectContext设…...
WEB前端人机交互导论实验-实训2格式化文本、段落与列表
1.项目1 文本与段落标记的应用: A.题目要求: B.思路: (1)首先,HTML文档的基本结构是通过<html>...</html>标签包围的,包含了头部信息和页面主体内容。 (2)在头部信息…...
Python:list列表与tuple元组的区别
在Python中,List(列表) 和Tuple(元组) 都是用于存储一组有序元素的数据结构,但它们有一些关键的区别,包括可变性、性能、语法等方面。 1. List(列表) 用法:…...
如何基于 Gin 封装出属于自己 Web 框架?
思路 在基于 Gin 封装出属于自己的 Web 框架前,你需要先了解 Gin 的基本用法和设计理念。 然后,你可以通过以下步骤来封装自己的 Web 框架: 封装路由:Gin 的路由是通过 HTTP 方法和 URL 路径进行匹配的,你可以根据自己…...
VUE element-ui实现表格动态展示、动态删减列、动态排序、动态搜索条件配置、表单组件化。
1、实现效果 1.1、文件目录 1.2、说明 1、本组件支持列表的表头自定义配置,checkbox实现 2、本组件支持列表列排序,vuedraggable是拖拽插件,上图中字段管理里的拖拽效果 ,需要的话请自行npm install 3、本组件支持查询条件动态…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
