一文搞懂 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、本组件支持查询条件动态…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
