No. 34 笔记 | Python知识架构与数据类型相关内容 | 实操

ops/2025/1/22 4:17:51/

在今天的Python学习中,我对Python的知识架构有了更深入的理解,同时也对Python的数据类型及其操作有了全面的认识和实践。

一、Python知识架构理解

在这里插入图片描述

Python是一门功能强大且应用广泛的编程语言,其知识架构可以从多个层面来理解。

从整体结构上看,Python程序由模块组成,模块是组织代码的基本单位,它将相关的功能和代码封装在一起,便于管理和复用。模块中包含语句,语句是执行具体操作的指令,比如变量赋值、函数调用等。而语句又由表达式构成,表达式是产生值或结果的代码片段,例如数值运算、逻辑判断等。

从语言特性方面来说,Python具有简洁清晰的语法,使得代码易于编写和阅读。它支持多种编程范式,包括面向过程、面向对象和函数式编程,这使得开发者可以根据不同的需求和场景选择合适的编程方式。Python还拥有丰富的标准库和第三方库,涵盖了从文件操作、网络通信到数据分析、机器学习等众多领域,极大地提高了开发效率,降低了开发难度。

此外,Python的解释型特性使得代码可以在不同的平台上快速运行和调试,无需进行复杂的编译过程。其动态类型系统允许变量在运行时根据赋值的对象自动确定类型,这在一定程度上增加了代码的灵活性,但也需要开发者在编写代码时更加注意类型相关的问题,以避免潜在的错误。

二、Python的数据类型及操作

Python的数据类型丰富多样,每种类型都有其独特的特点和用途,以下是详细介绍及相关操作:

(一)数值类型

Python的数值类型主要包括整数(int)和浮点数(float)。

  • 四则运算
    • 加法:例如3 + 5,结果为8
    • 减法:7 - 2,结果是5
    • 乘法:4 * 6,得到24
    • 除法:9 / 3,结果为3.0(在Python 3中,整数除法默认返回浮点数)。
    • 取整除法:9 // 3,结果为3,只取商的整数部分。
    • 取余运算:10 % 3,结果是1,即10除以3的余数。
    • 幂运算:2 ** 3,表示2的3次方,结果为8
      在这里插入图片描述
(二)列表(List)

列表是Python中常用的有序集合,可以包含不同类型的元素,并且元素可以修改。

  • 索引访问
    • 正向索引:从0开始,例如my_list = [10, 20, 30, 40]my_list[0]获取到第一个元素10my_list[2]获取到第三个元素30
      在这里插入图片描述

    • 反向索引:从-1开始,my_list[-1]获取到最后一个元素40my_list[-2]获取到倒数第二个元素30

在这里插入图片描述

  • 高级语法操作
    • 切片:my_list[1:3]获取从索引1(包含)到索引3(不包含)的子列表,即[20, 30]my_list[:3]表示从开头到索引3(不包含),结果为[10, 20, 30]my_list[2:]表示从索引2(包含)到末尾,结果是[30, 40]
      在这里插入图片描述

    • 列表推导式:例如[i ** 2 for i in range(5)],会生成一个包含0到4的平方数的列表[0, 1, 4, 9, 16]

在这里插入图片描述

- 添加元素:`my_list.append(50)`,在列表末尾添加元素`50`。`my_list.insert(2, 25)`,在索引2的位置插入元素`25`。

在这里插入图片描述

- 删除元素:`my_list.remove(30)`,删除列表中第一个值为`30`的元素。`del my_list[1]`,删除索引为1的元素。

在这里插入图片描述

(三)元组(Tuple)

元组与列表类似,但元素不可修改,一旦创建,其内容就不能改变。

  • 索引访问

    • 同样支持正向和反向索引,例如my_tuple = (100, 200, 300)my_tuple[0]获取到100my_tuple[-1]获取到300
      在这里插入图片描述
  • 高级语法操作

  • 在这里插入图片描述

    • 虽然元组本身不可变,但如果元组中的元素是可变类型(如列表),则可以修改该可变元素。例如my_tuple = (100, [200, 300], 400),可以通过my_tuple[1].append(500)来修改元组中列表元素的值,此时元组变为(100, [200, 300, 500], 400),但元组的结构(元素个数和位置)并未改变。

    • 元组也支持切片操作,用法与列表相同,如my_tuple[1:3]

(四)字典(Dictionary)

字典是一种无序的键值对集合,通过键(key)来访问值(value),键必须是唯一的,而值可以重复。

python"># 字典的创建和键访问
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict['name'])  
print(my_dict['age'])  # 添加键值对
my_dict['gender'] = 'female'
print(my_dict)  # 修改值
my_dict['age'] = 26
print(my_dict)  # 删除键值对
del my_dict['city']
print(my_dict)  # 遍历字典的键
for key in my_dict.keys():print(key)# 遍历字典的值
for value in my_dict.values():print(value)# 遍历字典的键值对
for key, value in my_dict.items():print(key, value)
  • key访问

    • 例如my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'},通过my_dict['name']可以获取到值'Alice'my_dict['age']获取到25
  • 高级语法操作

    • 添加键值对:my_dict['gender'] = 'female',向字典中添加一个新的键值对。
    • 修改值:my_dict['age'] = 26,将age对应的值修改为26
    • 删除键值对:del my_dict['city'],删除指定键的键值对。
    • 遍历字典:
      • 遍历键:for key in my_dict.keys(): print(key),会依次输出字典的所有键。
      • 遍历值:for value in my_dict.values(): print(value),会依次输出字典的所有值。
      • 遍历键值对:for key, value in my_dict.items(): print(key, value),会依次输出字典的每个键值对。

在这里插入图片描述

三、列表、元组、字典的区分

列表、元组和字典虽然都用于存储数据,但它们在以下几个方面存在明显区别:

  • 可变性

    • 列表是可变的,这意味着可以在列表创建后添加、删除或修改元素。
    • 元组是不可变的,一旦创建,其元素就不能被修改(除非元素本身是可变类型,如列表,但这种修改不改变元组的结构)。
    • 字典的键是不可变的,但值是可变的,可以添加、删除或修改键值对。
  • 数据结构

    • 列表和元组是有序的序列,元素按照插入的顺序排列,并且可以通过索引访问。
    • 字典是无序的键值对集合,通过键来快速查找对应的值,而不是通过索引。
  • 使用场景

    • 当需要存储一组有序且可能会经常变动的数据时,列表是一个很好的选择,例如存储学生的成绩列表,可能会随时添加或修改成绩。

    • 元组适用于存储一些不希望被修改的数据,例如表示一个点的坐标(x, y),或者函数返回多个固定值时,使用元组可以保证数据的完整性和不可变性。

    • 字典常用于存储具有映射关系的数据,例如学生的姓名和成绩的对应关系,通过姓名(键)可以快速找到对应的成绩(值),方便数据的查找和管理。

通过对Python知识架构的梳理以及对数据类型的深入学习和操作,我对Python的理解和应用能力得到了进一步提升,为后续更深入的学习和实际项目开发奠定了坚实的基础。


http://www.ppmy.cn/ops/152093.html

相关文章

第83期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

深度学习 Pytorch 张量的索引、分片、合并以及维度调整

张量作为有序的序列,也是具备数值索引的功能,并且基本索引方法和python原生的列表、numpy中的数组基本一致。 不同的是,pytorch中还定义了一种采用函数来进行索引的方式。 作为pytorch中的基本数据类型,张量既具备了列表、数组的基…

深入探究分布式日志系统 Graylog:架构、部署与优化

文章目录 一、Graylog简介二、Graylog原理架构三、日志系统对比四、Graylog部署传统部署MongoDB部署OS或者ES部署Garylog部署容器化部署 五、配置详情六、优化网络和 REST APIMongoDB 七、升级八、监控九、常见问题及处理 一、Graylog简介 Graylog是一个简单易用、功能较全面的…

分布式系统架构8:分布式缓存

这是小卷对分布式系统架构学习的第11篇文章,今天了解分布式缓存的理论知识以及Redis集群。 分布式缓存也是面试常见的问题,通常面试官会问为什么要用缓存,以及用的Redis是哪种模式,用的过程中遇到哪些问题这些 1. AP还是CP Redis…

使用 electron-builder 构建一个 Electron 应用程序 常见问题以及解决办法

构建 Electron 应用程序时,使用 electron-builder 可能会遇到一些常见问题。以下是一些问题及其解决办法: 1. 构建输出目录冲突 问题: 如果你的项目中已经存在与构建输出目录同名的文件夹,可能会导致构建失败。 解决方法&#…

Jenkins 启动

废话 这一阵子感觉空虚,心里空捞捞的,总想找点事情做,即使这是一件微小的事情,空余时间除了骑车、打球,偶尔朋友聚会 … 还能干什么呢? 当独自一人时,究竟可以做点什么,填补这空虚…

如何选择正确的电源 IC

电源IC是电源设计中必不可少的部件。本教程将提供为给定应用选择适当 IC 的步骤。它区分了三种常见的由直流电压供电的电源 IC:线性稳压器、开关稳压器和电荷泵。还提供了更的教程和主题的链接。 电源IC是电源设计中必不可少的部件。本教程将提供为给定应用选择适当…

win32汇编环境,窗口程序中复杂列表框的应用举例

;运行效果 ;双击到根目录后 ;win32汇编环境,窗口程序中复杂列表框的应用举例 ;在窗口程序中生成复杂列表框,增加子项,删除某项,取得指定项内容,在列表框内展示某文件夹内的文件列表,选定某文件夹后双击打开,返回上层目录再打开等 ;直接抄进RadAsm可编译运行。重点部分加备…