百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python入门基础系列(六)——基本数据类型

off999 2024-10-16 11:24 27 浏览 0 评论

通常,数据类型定义格式,设置数据的上限和下限,以便程序可以正确使用它。但是,Python数据类型不仅仅是这些。在Python中,我们不需要声明一个明确提及数据类型的变量。这个功能被称为动态类型。

Python在运行时直接根据语法确定文字的类型。例如 - 引号标记字符串值的声明,方括号表示字典的列表和大括号。此外,非十进制数将被赋值为整数类型,而具有小数点的将是浮点型。

包括变量,函数,Python中的所有模块都是一个对象。另一个有趣的事实是变量没有类型,而只是Python中的标签。它是与一个类型相关联的价值。因此,同一个变量,标签可以引用不同Python数据类型的值。

以下是Python中常用的重要数据类型列表。我们将用例子来讨论它们中的每一个。

1.Booleans 布尔

2.Numbers 数字

3.Strings 字符串

4.Bytes 字节

5.Lists 清单

6.Tuples 元组

7.Sets 集

8.Dictionaries 字典

从基本到高级的Python数据类型

Python数据

1.布尔类型

布尔是几乎所有编程语言都有的数据类型,Python也是如此。Python中的布尔值可以有两个值 - True或False。这些值是常量,可用于分配或比较布尔值。按照下面给出的一个简单例子:

在Python中创建布尔条件时,我们可以跳过代码中的显式比较。我们仍然会得到相同的行为。

上面的代码将产生与前一个相同的输出。这是因为声明

if condition:

相当于,

if condition == True:

接下来,Python中的表达式也可以产生布尔结果。

例如 -条件块中的表达式将产生一个布尔值。Python创建布尔上下文来评估表达式。

无论表达的是,Python将使用布尔上下文来确定它的真值。由于Python有许多数据类型,因此它们将按照自己的规则操作以在布尔上下文中查找结果。

在某些情况下,布尔常量“True”和“False”也可能作为数字。

从上面的例子可以看出,True是1,False的值是0。在算术运算中它们会变成数字。

2.数字

数字是最重要的Python数据类型之一。与只有整数和浮点数的许多语言不同,Python将复数引入为一种新的数字类型。这里有几点是值得你思考的。

Python中的数字使用以下关键字进行分类。

int,float和complex

Python有一个内置的函数类型() 来确定变量或值的数据类型。

另一个内置函数isinstance()用于测试对象的类型。

在Python中,我们可以在数字后面添加一个“j”或“J”来使它虚构或复杂。

例如:

为了形成一个复数,我们甚至可以使用该类型作为构造函数。看下面的例子。

只要所需的内存可用,Python中的整数没有任何大小限制。

浮点型数字可以精确到15位小数。

注:上面的这个例子中的dig是浮点数中的最大小数位数。

3.字符串

在单引号或双引号内包含的一个或多个字符序列在Python中被视为String。任何字母,数字或符号都可能成为刺痛的一部分。

Python还支持多行字符串,这些字符串在开始时需要三个引号,最后一个需要一个引号。

'多行字符串\ n开始并以\三重引号结尾。''多行字符串\ n开始并以\三重引号结尾。'

而且,Python中的字符串是不可变的。这意味着内存将被分配一次,然后重新使用。

您可以看到第二个字符串与第一个字符串共享相同的地址。

Python有两个流行版本,分别是2.7和3.4。全球大多数程序员都使用他们中的任何一个。Python 2中的字符串默认为非Unicode(ASCII),但也支持Unicode。

另一方面,Python 3字符串都是Unicode(UTF-8)。

Python 2.X中的字符串

Python3.X中的字符串

Python允许使用特殊的方括号语法来分割字符串以提取子字符串。看下面的例子。

4.字节

字节在Python中是不可变的类型。它可以存储范围从0到255的字节序列(每个8位)。与数组类似,我们可以通过使用索引来获取单个字节的值。但我们无法修改这个值。

以下是一个字节和字符串之间的一些区别:

1.字节对象包含一系列字节,而字符串存储字符序列。

2.字节是机器可读的对象,而字符串只是人类可读的形式。

3.由于该字节是机器可读的,所以它们可以直接存储到磁盘中。而字符串首先需要在进入磁盘之前进行编码。

一种场景,其中字节在启用缓冲时执行I / O操作时很重要。例如,我们有一个通过网络连续接收数据的程序。它在等待消息标题和终止符出现在流中之后解析日期。它不断将传入的字节附加到缓冲区。

使用Python字节对象,使用下面的伪代码很容易对上述场景进行编程。

在这篇文章的后面的部分中,我们也将介绍字节和字符串的相互转换。

5.列表

Python列表是一个类似构造的数组,它按顺序存储任意类型的对象。它非常灵活并且没有固定的尺寸。列表中的索引从Python开始为零。

它是各种数据类型的异构集合。例如,列表对象可以将文件存储在文件夹中,或者将公司中的员工数据存储起来等。

Python列语法

Python中的列表可以通过将元素放在用逗号分隔的方括号内来声明。

列表对象是可变的。Python允许通过赋值以及通过内置列表方法来修改列表或其元素。

嵌套在列表中

有趣的是,一个列表可以包含另一个列表。这样的列表被称为嵌套列表。

切片清单

该列表也是支持切片的Python数据类型之一,就像我们之前使用Strings学到的一样。通过切片运算符[],我们可以从列表中提取元素或一堆元素。

6.元组

元组是由逗号分隔的Python对象的异构集合。这意味着不同数据类型的对象可以共存于一个元组中。元组和列表有些相似,因为它们共享以下特征。

l两个对象都是有序的序列。

l它们支持索引和重复。

l允许嵌套。

l他们可以存储不同类型的值。

Python元组语法

用括号括起来的元素定义一个元组,其括号内用逗号分隔。

示例 - 定义一个元组

示例 - 嵌套元组

示例 - 以元组重复

重要说明:在上述示例中进行切片时,“2”表示从元组中的第三个元素开始(切片索引从0开始)。“4”意味着结束元组中的第五个元素,但排除它。

元组与列表有什么不同?

元组与列表有些不同,因为它们是不可变的。Python在创建后不允许修改元组。我们以后不能添加或删除任何元素。相反,Python期望我们用更新后的元素序列创建一个新的元素。

如果元组具有可变对象作为元素会怎么样?

在这里有个惊喜,元组是禁止修改的。但是Python不会在元素上执行它。这意味着我们可以更新它们,如果它们是可变对象。

为什么需要Tuple作为Python数据类型之一?

这里有几个想法支持元组。

1.Python使用元组从函数返回多个值。

2.元组比列表更轻量级。

3.它作为一个容器填充多个东西。

4.我们可以将它们用作字典中的关键字。

7.设置 Set

在所有的Python数据类型中,该集合是支持像联合,交集,对称差异等数学运算的集合。

一个集合是唯一和不可变对象的无序集合。它的定义从括起括号{}开始,其中的项用逗号分隔。由于该集合从数学中的“Set”派生出来,所以它不能有多个相同元素的出现。

为什么需要Set?

设置类型比列表有明显的优势。它实现了一个高度优化的方法,用于检查容器是否托管特定的元素。这里使用的机制是基于一个称为哈希表的数据结构。

创建一个集合

要创建一个集合,请使用序列或任何可迭代对象调用内置的set()函数。

另一种更简单的方法是指定花括号{}中包含的元素。

冻结的集合

冻结集是传统集合的加工形式。它是不可变的,只支持在不改变上下文中使用的冻结集的情况下执行的方法和运算符。

现在,看一个完整的例子,以突出正常和冻结集之间的区别。

8. Dictionaries字典

Python中的字典是键值对的无序集合。它是Python中的一种内置映射类型,其中键映射到值。这些键值对提供了一种直观的方式来存储数据。

为什么需要字典?

该字典解决了高效存储大型数据集的问题。Python已经使字典对象高度优化以检索数据。

创建一个字典

用于创建字典的Python语法使用大括号{},其中每个项目显示为一对键和值。关键和值可以是任何Python数据类型。

使用键访问字典元素

字典就像一个数据库。在这里,我们不像使用列表那样使用数字来获取特定的索引值。相反,我们用一个键替换它,然后使用键来获取它的值。

字典访问元素的方法

Python公开以下内置的字典功能。

(一)keys() -它将字典中的键分离出来。

(二)values() -它隔离字典中的值。

(三)items() -它以(键,值)对的列表样式返回项目。

修改字典(添加/更新/删除)

由于字典对象是可变的,所以我们可以调用字典对象的添加,更新和删除操作。

有关如何修改字典的更多信息,请参见下面的示例。

本章小结 - Python数据类型

这篇文章涵盖了各种Python数据类型,并尝试用例子解释它们中的每一个。您可以在这里找到所有相关信息,这些信息对您在开发Python程序中可能有用。

如果你今天学到了新东西,那么别介意进一步分享它。并且可以关注我后续一系列Python的相关文章。

相关推荐

Alist 玩家请进:一键部署全新分支 Openlist,看看香不香!

Openlist(其前身是鼎鼎大名的Alist)是一款功能强大的开源文件列表程序。它能像“万能钥匙”一样,解锁并聚合你散落在各处的云盘资源——无论是阿里云盘、百度网盘、GoogleDrive还是...

白嫖SSL证书还自动续签?这个开源工具让我告别手动部署

你还在手动部署SSL证书?你是不是也遇到过这些问题:每3个月续一次Let'sEncrypt证书,忘了就翻车;手动配置Nginx,重启服务,搞一次SSL得花一下午;付费证书太贵,...

Docker Compose:让多容器应用一键起飞

CDockerCompose:让多容器应用一键起飞"曾经我也是一个手动启动容器的少年,直到我的膝盖中了一箭。"——某位忘记--link参数的运维工程师引言:容器化的烦恼与...

申请免费的SSL证书,到期一键续签

大家好,我是小悟。最近帮朋友配置网站HTTPS时发现,还有人对宝塔面板的SSL证书功能还不太熟悉。其实宝塔早就内置了免费的Let'sEncrypt证书申请和一键续签功能,操作简单到连新手都能...

飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx

前面分享了两期TVGate:Q大的转发代理工具TVGate升级了,操作更便捷,增加了新的功能跨平台内网转发神器TVGate部署与使用初体验现在项目已经开源,并支持Docker部署,本文介绍如何通...

Docker Compose 编排实战:一键部署多容器应用!

当项目变得越来越复杂,一个服务已经无法满足需求时,你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时,如果还一个一个手动dockerrun,简直是灾难这就是DockerCompo...

深度测评:Vue、React 一键部署的神器 PinMe

不知道大家有没有这种崩溃瞬间:领导突然要看项目Demo,客户临时要体验新功能,自己写的小案例想发朋友圈;找运维?排期?还要走工单;自己买服务器?域名、SSL、Nginx、防火墙;本地起服务?断电、关...

超简单!一键启动多容器,解锁 Docker Compose 极速编排秘籍

想要用最简单的方式在本地复刻一套完整的微服务环境?只需一个docker-compose.yml文件,你就能一键拉起N个容器,自动组网、挂载存储、环境隔离,全程无痛!下面这份终极指南,教你如何用...

日志文件转运工具Filebeat笔记_日志转发工具

一、概述与简介Filebeat是一个日志文件转运工具,在服务器上以轻量级代理的形式安装客户端后,Filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并将来自...

K8s 日志高效查看神器,提升运维效率10倍!

通常情况下,在部署了K8S服务之后,为了更好地监控服务的运行情况,都会接入对应的日志系统来进行检测和分析,比如常见的Filebeat+ElasticSearch+Kibana这一套组合...

如何给网站添加 https_如何给网站添加证书

一、简介相信大家都知道https是更加安全的,特别是一些网站,有https的网站更能够让用户信任访问接下来以我的个人网站五岁小孩为例子,带大家一起从0到1配置网站https本次配置的...

10个Linux文件内容查看命令的实用示例

Linux文件内容查看命令30个实用示例详细介绍了10个Linux文件内容查看命令的30个实用示例,涵盖了从基本文本查看、分页浏览到二进制文件分析的各个方面。掌握这些命令帮助您:高效查看各种文本文件内...

第13章 工程化实践_第13章 工程化实践课

13.1ESLint+Prettier代码规范统一代码风格配置//.eslintrc.jsmodule.exports={root:true,env:{node...

龙建股份:工程项目中标_龙建股份有限公司招聘网

404NotFoundnginx/1.6.1【公告简述】2016年9月8日公告,公司于2016年9月6日收到苏丹共和国(简称“北苏丹”)喀土穆州基础设施与运输部公路、桥梁和排水公司出具的中标通知书...

福田汽车:获得政府补助_福田 补贴

404NotFoundnginx/1.6.1【公告简述】2016年9月1日公告,自2016年8月17日至今,公司共收到产业发展补助、支持资金等与收益相关的政府补助4笔,共计5429.08万元(不含...

取消回复欢迎 发表评论: