一文搞懂 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、本组件支持查询条件动态…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...

华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...