只需4500字,带你学习Python中7种基础数据类型!

Python 语言以其简洁、高效和强大的功能,成为了无数开发者和编程爱好者的首选。无论是数据分析、人工智能、网络开发还是自动化脚本,Python 都能以其优雅的语法和丰富的库支持,让编程变得更加简单而有趣。

但正如建造一座大厦需要坚实的地基,掌握 Python 编程也需要从理解其基础数据类型开始。数据类型是编程语言中用于定义变量所存储数据种类的一种方式,它们是构建程序逻辑的基本构建块。在 Python 中,有一系列基础数据类型,它们是理解语言特性和进行高效编程的关键。

本文将带你学习 Python 的基础数据类型,从数值到布尔,从字符串到列表,再到集合和字典,我们将逐一探索这些数据类型的特性和应用。通过实际的代码示例,学会如何在 Python 中自如地使用这些数据类型,为我们的编程之路打下坚实的基础。

一 数值类型:Python编程的基石

在编程的世界里,数值是最基本的元素之一。Python 提供了两种主要的数值类型:整数(int)和浮点数(float)。让我们来详细了解一下它们。

整数(int):计数的基础

整数是没有小数部分的数字,可以是正数、负数或零。在 Python 中,你可以很容易地创建一个整数:

age = 30    # 一个正整数
balance = -50  # 一个负整数
zero = 0  # 零也是整数

整数在编程中常用于计数和执行数学运算,如加法、减法、乘法和除法。

浮点数(float):精确到小数点后

浮点数与整数不同,它们可以有小数部分,适用于需要更精确表示的场合:

price = 19.99  # 一个表示价格的浮点数
weight = 72.5  # 一个表示重量的浮点数

浮点数同样可以进行数学运算,但由于它们的精度限制,有时可能会遇到一些微小的误差。

数值运算:基础但强大

Python 支持对整数和浮点数进行多种数学运算,包括:

  • 加法:+
  • 减法:-
  • 乘法:*
  • 除法:/
  • 取模(求余数):%
  • 幂运算(指数):**

例如:

result = 10 + 5 * 2  # 结果为20,先进行乘法运算
remainder = 11 % 3   # 结果为2,11除以3的余数
power = 2 ** 3       # 结果为8,2的3次方
注意事项
  • 在 Python 中,当你进行除法运算时,结果总是一个浮点数。即使你除以两个整数,结果也会是浮点数:
division = 7 / 2  # 结果为3.5,而不是整数3
  • 如果你需要进行整数除法(忽略余数),可以使用 // 运算符:
integer_division = 7 // 2  # 结果为3,整数除法
  • 在进行数值运算时,要注意数据类型的转换。例如,如果你将一个整数和一个浮点数相加,结果将是一个浮点数:
mixed_result = 5 + 3.0  # 结果为8.0,一个浮点数

掌握整数和浮点数的使用,是学习 Python 编程的基础。它们在变量赋值、数学运算和逻辑判断中扮演着重要角色。理解了数值类型,你就已经为进一步探索 Python 的其他数据类型打下了坚实的基础。

二 布尔类型(bool):逻辑判断的守护者

在编程中,逻辑判断是控制程序流程的关键。布尔类型(bool)是实现这些逻辑判断的基础。布尔值只有两个:TrueFalse,它们代表了逻辑上的真和假。

布尔值的用途

布尔值在 Python 中主要用于条件语句,如 ifwhilefor 循环,以及逻辑运算符 andornot

布尔运算

布尔运算是编程中非常常见的操作,包括:

  • 与运算(and):两个条件都为 True 时,结果才为 True
  • 或运算(or):两个条件中至少有一个为 True 时,结果为 True
  • 非运算(not):将 True 转换为 False,将 False 转换为 True
条件语句中的布尔值

布尔值在 if 语句中扮演着至关重要的角色:

x = 10
if x > 5:print("x 大于 5")
else:print("x 小于或等于 5")

在这个例子中,如果 x 的值大于5,程序将打印 “x 大于 5”;否则,它将打印 “x 小于或等于 5”。

布尔值与其他操作

布尔值也常用于比较操作符的结果:

  • 大于:>
  • 小于:<
  • 等于:==
  • 不等于:!=
  • 大于等于:>=
  • 小于等于:<=

例如:

y = 20
if y == 20:print("y 等于 20")
注意事项
  • 在 Python 中,布尔值是大写的 TrueFalse,不要使用小写的 truefalse
  • 除了布尔值,Python 中的其他值也可以在布尔上下文中被解释为 TrueFalseNone、所有的数值零(包括 00.00j)、空字符串 ""、空列表 [] 和空字典 {} 都被解释为 False,其他值都被解释为 True

布尔类型是编程中实现逻辑判断和控制程序流程的基础。理解布尔值和布尔运算对于编写条件逻辑和循环结构至关重要。掌握了布尔类型,你将能够更加灵活地构建程序的逻辑,使其能够根据条件做出决策。

三 字符串类型(str):文本的载体

字符串是编程中用于表示文本的数据类型。在 Python 中,字符串可以用单引号(')或双引号(")括起来,这使得它在处理文本信息时非常灵活。

创建字符串

你可以这样创建一个字符串:

greeting = "你好,世界!"
message = 'Python 是一种强大的编程语言。'

无论是单引号还是双引号,它们的作用都是一样的,但你可以使用一种引号来创建一个包含另一种引号的字符串:

example = "她说:'你好!'"
字符串的特点
  • 不可变性:字符串一旦创建就不能改变。如果你需要修改字符串,Python 会创建一个新的字符串对象。
  • 序列:字符串是由字符组成的序列,可以通过索引访问每一个字符。
字符串操作

字符串支持多种操作,包括:

  • 连接:使用 + 符号连接字符串。
  • 复制:使用 * 符号进行字符串的复制。
  • 切片:通过指定索引范围获取字符串的一部分。
  • 格式化:将变量插入到字符串中。
示例
# 连接字符串
concatenated = "Hello, " + "World!"# 复制字符串
repeated = "Python " * 3# 切片操作
first_five = "Hello"[0:5]  # 前五个字符# 字符串格式化
name = "Kitty"
greeting = "Hello, " + name
字符串方法

Python 的字符串类型提供了许多有用的方法,例如:

  • .upper():将字符串转换为大写。
  • .lower():将字符串转换为小写。
  • .strip():移除字符串两端的空白字符。
  • .split():按指定分隔符分割字符串。
  • .join():将序列中的元素连接成一个字符串。
注意事项
  • 字符串的索引是从 0 开始的,这意味着第一个字符的索引是 0
  • 尝试修改字符串的某个字符会引发错误,因为字符串是不可变的。
  • 当处理字符串时,要注意转义字符,如 \n 表示换行,\t 表示制表符。

字符串是编程中处理文本数据的核心。掌握字符串的创建、操作和格式化,对于处理文本信息、构建用户界面和实现文本处理功能至关重要。理解字符串的不可变性和序列特性,将帮助我们更有效地使用 Python 进行文本操作。

四 列表类型(list):灵活的序列容器

列表是 Python 中一种非常灵活的数据结构,用于存储有序的元素集合。它允许元素的增加、删除和排序,这使得列表在处理一系列数据时非常有用。

创建列表

创建列表非常简单,使用方括号 [] 即可:

fruits = ['apple', 'banana', 'cherry']
numbers = [1, 2, 3, 4, 5]
列表的特点
  • 可变性:列表的内容可以被修改,这意味着你可以添加、删除或更改列表中的元素。
  • 异构性:列表可以包含不同类型的元素,但通常最佳实践是保持列表元素的一致性。
列表操作

列表支持多种操作,包括:

  • 添加元素:使用 .append().extend() 方法。
  • 删除元素:使用 .pop().remove() 方法。
  • 排序:使用 .sort().sorted() 方法。
  • 切片:通过指定索引范围获取列表的一部分。
示例
# 添加元素
fruits.append('orange')# 删除元素
del fruits[1]  # 删除指定位置的元素# 排序列表
numbers.sort()# 切片操作
first_two_fruit = fruits[:2]  # 获取前两个水果
列表推导式

Python 提供了一种简洁的构建列表的方法,称为列表推导式:

squares = [x**2 for x in range(10)]
注意事项
  • 列表的索引同样是从 0 开始的。
  • 在使用 .pop() 方法时,如果不指定索引,默认删除并返回列表中的最后一个元素。
  • .append() 向列表末尾添加一个元素,而 .extend() 可以一次性添加多个元素。

列表是 Python 中用于存储序列数据的主力军。它们不仅可以用来存储数据,还可以通过各种方法进行数据操作和管理。掌握列表的使用,对于进行有效的数据处理和程序设计至关重要。

五 元组类型(tuple):不可变的序列

元组是 Python 中的一种数据结构,它与列表类似,但元组一旦创建就不能被修改,这使得元组在某些需要数据不可变的场景下非常有用。

创建元组

创建元组非常简单,使用圆括号 () 并用逗号分隔元素:

coordinates = (4.0, 5.0)
colors = 'red', 'green', 'blue'  # 圆括号可以省略
元组的特点
  • 不可变性:元组一旦创建,就不能添加、删除或更改元素。
  • 性能:由于元组的不可变性,它通常比列表有更好的性能,特别是在作为字典的键时。
元组操作

虽然元组不可变,但你仍然可以:

  • 访问元素:使用索引来获取元组中的元素。
  • 切片:获取元组的一部分。
  • 遍历:使用循环遍历元组中的所有元素。
示例
# 访问元素
x, y = coordinates
print(x)  # 输出: 4.0# 切片操作
first_two_colors = colors[:2]  # 获取前两个颜色# 遍历元组
for color in colors:print(color)
元组与列表的转换

你可以将列表转换为元组,反之亦然:

# 将列表转换为元组
list_to_tuple = tuple([1, 2, 3])# 将元组转换为列表
tuple_to_list = list((1, 2, 3))
注意事项
  • 元组默认是不可变的,但元组内的可变类型对象(如列表)可以被修改。
  • 单个元素的元组在定义时需要在元素后面加上逗号,例如 (single_element,)

元组以其不可变性在 Python 中扮演着特殊的角色,特别是在需要确保数据不被更改的情况下。理解元组的使用,对于编写安全、高效的程序代码非常重要。

六 集合类型(set):独特的无序集合

在 Python 中,集合(set)是一种无序且不包含重复元素的容器。它类似于数学中的集合概念,支持多种集合运算,如并集、交集和差集。

创建集合

创建一个集合非常简单,使用花括号 {}set() 函数:

odd_numbers = {1, 2, 3, 3}  # 注意:集合中不会有重复的3
prime_numbers = set((2, 3, 5, 7, 11))
集合的特点
  • 无序性:集合中的元素没有特定的顺序。
  • 不重复性:集合会自动去除重复的元素。
集合操作

集合支持的基本操作包括:

  • 添加元素:使用 .add() 方法。
  • 移除元素:使用 .remove()discard() 方法,后者在元素不存在时不会引发错误。
  • 集合运算:包括并集(union)、交集(intersection)、差集(difference)和对称差集(symmetric_difference)。
示例
# 添加元素
odd_numbers.add(4)# 移除元素
odd_numbers.discard(2)  # 即使2不在集合中,也不会报错# 集合运算
even_numbers = {2, 4, 6}
union = odd_numbers.union(even_numbers)  # 并集
intersection = odd_numbers.intersection(even_numbers)  # 交集
difference = odd_numbers.difference(even_numbers)  # 差集
注意事项
  • 集合中的元素必须是不可变类型,因为集合需要能够明确地比较元素是否相同。
  • 集合的元素不按特定的顺序排列,所以不应该依赖元素的顺序。

集合类型在处理唯一性数据和执行集合运算时非常有用。掌握集合的创建和操作,可以帮助我们更高效地处理数据集合,特别是在需要执行数学意义上的集合运算时。

七 字典类型(dict):键值对的集合

字典(dict)是 Python 中一种非常有用的数据结构,它存储了键值对(key-value pairs),其中键(key)是唯一的,而值(value)可以是任何数据类型。

创建字典

创建字典使用花括号 {},并用冒号 : 分隔键和值:

person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
字典的特点
  • 通过键访问:字典中的每个键都是唯一的,可以通过键来快速访问对应的值。
  • 可变性:字典的内容可以被修改,可以添加新的键值对,也可以更改或删除已有的键值对。
字典操作

字典支持多种操作,包括:

  • 添加键值对:直接指定新的键和值。
  • 修改键值对:通过键来修改对应的值。
  • 删除键值对:使用 delpop() 方法。
  • 遍历:通过循环遍历字典中的所有键值对。
示例
# 添加键值对
person['email'] = 'alice@example.com'# 修改键值对
person['age'] = 26# 删除键值对
del person['city']
email = person.pop('email')  # 返回并删除键'email'对应的值# 遍历字典
for name, detail in person.items():print(f"{name}: {detail}")
注意事项
  • 键必须是不可变类型,通常是字符串或数字。
  • 键是区分大小写的,因此 'Name''name' 会被视为两个不同的键。
  • 尝试访问不存在的键会导致错误,使用 get() 方法可以避免这个错误,它在键不存在时返回 None 或指定的默认值。

字典类型以其通过键访问值的特性,在数据存储和检索方面提供了极大的灵活性。掌握字典的使用,对于处理复杂的数据结构和实现高效的数据管理非常重要。

综上,我们一起探索了 Python 中的 7 种基础数据类型:数值、布尔值、字符串、列表、元组、集合和字典。下回见 ~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/867661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何借助AI在20分钟内写一个springboot单表的增删改查

目录 1. AI工具介绍2. 写代码的正确顺序2.1 编写 Entity 类&#xff1a;2.2 编写 Mapper 接口&#xff1a;2.3 编写 Mapper XML 文件&#xff08;如果使用 MyBatis&#xff09;&#xff1a;2.4 编写 Service 接口&#xff1a;2.5 编写 Service 实现类&#xff08;ServiceImpl&a…

【pyhton学习】深度理解类和对象

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 一、一切皆对象1.1 对象的概念1.2 如何创建类对象1.3 类型检测 二、属性与方法2.1 如何查看属性与方法2.2 属性和方法…

C语言 | Leetcode C语言题解之第220题存在重复元素III

题目&#xff1a; 题解&#xff1a; struct HashTable {int key;int val;UT_hash_handle hh; };int getID(int x, long long w) {return x < 0 ? (x 1ll) / w - 1 : x / w; }struct HashTable* query(struct HashTable* hashTable, int x) {struct HashTable* tmp;HASH_F…

leetcode每日一题-3101 交替子数组计数

暴力遍历&#xff1a;看起来像是回溯,实际上就是递归 class Solution { private:long long _res 0; public:long long countAlternatingSubarrays(vector<int>& nums) {backtrack(nums, 0);return _res;}void backtrack(vector<int>& nums, long long st…

查询某个县区数据,没有的数据用0补充。

加油&#xff0c;新时代打工人&#xff01; 思路&#xff1a; 先查出有数据的县区&#xff0c;用县区编码判断&#xff0c;不存在县区里的数据。然后&#xff0c;用union all进行两个SQL拼接起来。 SELECTt.regionCode,t.regionName,t.testNum,t.sampleNum,t.squareNum,t.crop…

普中51单片机:数码管显示原理与实现详解(四)

文章目录 引言数码管的结构数码管的工作原理静态数码管电路图开发板IO连接图代码演示 动态数码管实现步骤数码管驱动方式电路图开发板IO连接图真值表代码演示1代码演示2代码演示3 引言 数码管&#xff08;Seven-Segment Display&#xff09;是一种常见的显示设备&#xff0c;广…

Visual studio 2023下使用 installer projects 打包C#程序并创建 CustomAction 类

Visual studio 2023下使用 installer projects 打包C#程序并创建 CustomAction 类 1 安装Visual studio 20203,并安装插件1.1 下载并安装 Visual Studio1.2 步骤二:安装 installer projects 扩展插件2 创建安装项目2.1 创建Windows安装项目2.2 新建应用程序安装文件夹2.3 添加…

A Threat Actors 出售 18 万名 Shopify 用户信息

BreachForums 论坛成员最近发布了涉及 Shopify 的重大数据泄露事件。 据报道&#xff0c;属于近 180,000 名用户的敏感数据遭到泄露。 Shopify Inc. 是一家总部位于安大略省渥太华的加拿大公司。 开发和营销同名电子商务平台、Shopify POS 销售点系统以及专用于企业的营销工…

SQL脚本初始化数据

创建或选择某个数据库&#xff0c;运行窗口输入&#xff1a;source,再拖入文件&#xff0c;回车即可&#xff1b; 虽然也可以使用图形化工具初始化数据&#xff0c;但是他会有内存限制&#xff0c;也就是较大的sql文件不可以初始化&#xff0c;而运行窗口没有sql文件大小限制&…

本周23个Github有趣项目llama-agents等

23个Github有趣的项目、工具和库 1、Positron 下一代数据科学 IDE。 您使用 VS Code 进行数据科学&#xff08;Python 或 R&#xff09;&#xff0c;但希望它包含专用控制台、变量窗格、数据浏览器和其他用于特定数据工作的功能。您使用 Jupyterlab 进行数据科学&#xff08;…

python读取csv出错怎么解决

Python用pandas的read_csv函数读取csv文件。 首先&#xff0c;导入pandas包后&#xff0c;直接用read_csv函数读取报错OSError&#xff0c;如下&#xff1a; 解决方案是加上参数&#xff1a;enginepython。 运行之后没有报错&#xff0c;正在我欣喜之余&#xff0c;输出一下d…

centos7部署mysql8.0

1.安装MySQL的话会和MariaDB的文件冲突&#xff0c;所以需要先卸载掉MariaDB。查看是否安装mariadb rpm -qa | grep mariadb 2. 卸载mariadb rpm -e --nodeps 查看到的文件名 3.下载MySQL安装包 MySQL官网下载地址: MySQL :: Download MySQL Community Serverhttps://dev.mys…

19.JWT

1►JWT博客推荐 阮老师讲得很好了&#xff0c;网址如下&#xff1a; http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html 2►ry是怎么践行JWT的呢&#xff1f; 问题一&#xff1a;不登录的时候有token吗&#xff1f; 答&#xff1a;没有&#xff0c;所…

blender 纹理绘制-贴花方式

贴画绘制-1分钟blender_哔哩哔哩_bilibili小鸡老师的【Blender风格化角色入门教程】偏重雕刻建模https://www.cctalk.com/m/group/90420100小鸡老师最新的【风格化角色全流程进阶教程】偏重绑定。早鸟价进行中&#xff01;欢迎试听https://www.cctalk.com/m/group/90698829, 视…

Splunk Enterprise 中的严重漏洞允许远程执行代码

Splunk 是搜索、监控和分析机器生成大数据的软件领先提供商&#xff0c;为其旗舰产品 Splunk Enterprise 发布了紧急安全更新。 这些更新解决了几个构成重大安全风险的关键漏洞&#xff0c;包括远程代码执行 (RCE) 的可能性。 受影响的版本包括 * 9.0.x、9.1.x 和 9.2.x&…

ARM架构和Intel x86架构

文章目录 1. 处理器架构 2. ARM架构 3. Intel x86架构 4. 架构对比 1. 处理器架构 处理器架构是指计算机处理器的设计和组织方式&#xff0c;它决定了处理器的性能、功耗和功能特性。处理器架构影响着从计算机系统的硬件设计到软件开发的各个方面。在现代计算技术中&#…

计算机组成原理学习笔记(一)

计算机组成原理 [类型:: [[计算机基础课程]] ] [来源:: [[B站]] ] [主讲人:: [[咸鱼学长]] ] [评价:: ] [知识点:: [[系统软件]] & [[应用软件]] ] [简单解释:: 管理计算机系统的软件&#xff1b; 按照任务需要编写的程序 ] [问题:: ] [知识点:: [[机器字长]] ] [简单…

绝区壹--LLM的构建模块

前言 语言是人类交流的本质&#xff0c;大型语言模型 (LLM) 凭借其出色的理解和生成类似人类的文本的能力&#xff0c;彻底改变了我们与语言互动和利用语言的方式。深入研究 LLM 的构建块&#xff08;向量、标记和嵌入&#xff09;&#xff0c;揭示了使这些模型能够以前所未有…

辣子简报芬芳喜事特辑

【辣子简报芬芳喜事特辑】&#x1f389;在这个季节的尾声&#xff0c;当一缕阳光温柔地洒在打包好的行囊上&#xff0c;我们不约而同地停下了忙碌的脚步&#xff0c;回望那段共同编织的璀璨时光——79天的并肩作战&#xff0c;如同一段精彩绝伦的旅程&#xff0c;如今已缓缓驶向…

3D地图是智慧城市可视化项目绕不开的技术!来我帮你解决

**3D地图&#xff1a;智慧城市可视化项目绕不开的技术&#xff01;来我帮你解决** 智慧城市已成为未来城市发展的必然趋势。而3D地图作为智慧城市可视化项目的核心技术之一&#xff0c;其重要性不言而喻。本文将深入探讨3D地图在智慧城市建设中的应用及其优势&#xff0c;为您…