百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

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

bigegpt 2024-09-09 01:22 12 浏览

通常,数据类型定义格式,设置数据的上限和下限,以便程序可以正确使用它。但是,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的相关文章。

相关推荐

Java 泛型大揭秘:类型参数、通配符与最佳实践

引言在编程世界中,代码的可重用性和可维护性是至关重要的。为了实现这些目标,Java5引入了一种名为泛型(Generics)的强大功能。本文将详细介绍Java泛型的概念、优势和局限性,以及如何在...

K8s 的标签与选择器:流畅运维的秘诀

在Kubernetes的世界里,**标签(Label)和选择器(Selector)**并不是最炫酷的技术,但却是贯穿整个集群管理与运维流程的核心机制。正是它们让复杂的资源调度、查询、自动化运维变得...

哈希Hash算法:原理、应用(哈希算法 知乎)

原作者:Linux教程,原文地址:「链接」什么是哈希算法?哈希算法(HashAlgorithm),又称为散列算法或杂凑算法,是一种将任意长度的数据输入转换为固定长度输出值的数学函数。其输出结果通常被...

C#学习:基于LLM的简历评估程序(c# 简历)

前言在pocketflow的例子中看到了一个基于LLM的简历评估程序的例子,感觉还挺好玩的,为了练习一下C#,我最近使用C#重写了一个。准备不同的简历:image-20250528183949844查...

55顺位,砍41+14+3!季后赛也成得分王,难道他也是一名球星?

雷霆队最不可思议的新星:一个55号秀的疯狂逆袭!你是不是也觉得NBA最底层的55号秀,就只能当饮水机管理员?今年的55号秀阿龙·威金斯恐怕要打破你的认知了!常规赛阶段,这位二轮秀就像开了窍的天才,直接...

5分钟读懂C#字典对象(c# 字典获取值)

什么是字典对象在C#中,使用Dictionary类来管理由键值对组成的集合,这类集合被称为字典。字典最大的特点就是能够根据键来快速查找集合中的值,其键的定义不能重复,具有唯一性,相当于数组索引值,字典...

c#窗体传值(c# 跨窗体传递数据)

在WinForm编程中我们经常需要进行俩个窗体间的传值。下面我给出了两种方法,来实现传值一、在输入数据的界面中定义一个属性,供接受数据的窗体使用1、子窗体usingSystem;usingSyst...

C#入门篇章—委托(c#委托的理解)

C#委托1.委托的定义和使用委托的作用:如果要把方法作为函数来进行传递的话,就要用到委托。委托是一个类型,这个类型可以赋值一个方法的引用。C#的委托通过delegate关键字来声明。声明委托的...

C#.NET in、out、ref详解(c#.net framework)

简介在C#中,in、ref和out是用于修改方法参数传递方式的关键字,它们决定了参数是按值传递还是按引用传递,以及参数是否必须在传递前初始化。基本语义对比修饰符传递方式可读写性必须初始化调用...

C#广义表(广义表headtail)

在C#中,广义表(GeneralizedList)是一种特殊的数据结构,它是线性表的推广。广义表可以包含单个元素(称为原子),也可以包含另一个广义表(称为子表)。以下是一个简单的C#广义表示例代...

「C#.NET 拾遗补漏」04:你必须知道的反射

阅读本文大概需要3分钟。通常,反射用于动态获取对象的类型、属性和方法等信息。今天带你玩转反射,来汇总一下反射的各种常见操作,捡漏看看有没有你不知道的。获取类型的成员Type类的GetMembe...

C#启动外部程序的问题(c#怎么启动)

IT&OT的深度融合是智能制造的基石。本公众号将聚焦于PLC编程与上位机开发。除理论知识外,也会结合我们团队在开发过程中遇到的具体问题介绍一些项目经验。在使用C#开发上位机时,有时会需要启动外部的一些...

全网最狠C#面试拷问:这20道题没答出来,别说你懂.NET!

在竞争激烈的C#开发岗位求职过程中,面试是必经的一道关卡。而一场高质量的面试,不仅能筛选出真正掌握C#和.NET技术精髓的人才,也能让求职者对自身技术水平有更清晰的认知。今天,就为大家精心准备了20道...

C#匿名方法(c#匿名方法与匿名类)

C#中的匿名方法是一种没有名称只有主体的方法,它提供了一种传递代码块作为委托参数的技术。以下是关于C#匿名方法的一些重要特点和用法:特点省略参数列表:使用匿名方法可省略参数列表,这意味着匿名方法...

C# Windows窗体(.Net Framework)知识总结

Windows窗体可大致分为Form窗体和MDI窗体,Form窗体没什么好细说的,知识点总结都在思维导图里面了,下文将围绕MDI窗体来讲述。MDI(MultipleDocumentInterfac...