python

21 篇文章
Python学习-11迭代器与生成器

Python学习-11迭代器与生成器

Python中的可迭代对象(如列表、字符串)定义了能被`for`循环遍历的能力,其核心是提供`__iter__`方法。迭代器是真正负责逐项取值的对象,通过`__next__`方法推进状态并在耗尽时抛出`StopIteration`异常,它支持惰性计算,按需生成结果,节省内存。生成器是基于`yield`关键字的特殊迭代器,由解释器自动管理状态保存与恢复,使代码更简洁自然。`for`循环本质是自动调用`iter()`和`next()`的语法糖。生成器表达式提供列表推导式的惰性版本。在实际开发中,优先使用生成器实现遍历,仅在需要精细状态控制时才手写迭代器类。理解这三者的关系有助于优化大规模数据处理与流式编程。

Python学习-10模块与包

Python学习-10模块与包

Python中的模块是`.py`文件,用于拆分功能、提高复用性和可维护性;包括标准库、自定义和第三方三类。包是包含`__init__.py`的目录,用于组织多个模块和子包,形成层级结构。模块导入方式包括`import`、`from ... import`及别名用法,其中`__all__`控制`import *`的导出内容,`__name__`用于判断模块是否作为主程序运行。包通过`__init__.py`实现初始化与接口暴露。第三方包通过PyPI发布,使用`pip`安装。Python环境分为全局环境与虚拟环境,虚拟环境能实现项目间依赖隔离,避免版本冲突,是真实开发中的推荐做法。掌握模块、包与环境管理,是构建可维护、可扩展Python项目的基础。

Python学习-09错误与异常

Python学习-09错误与异常

在Python中,程序中断由错误与异常两类原因造成。错误是语法层面的问题,发生在代码解析阶段,无法通过异常处理拯救,只能修正源码。异常是语法正确但运行时因数据或环境问题导致的非预期情况,可通过异常处理机制管理。常见异常类型有ZeroDivisionError、TypeError、IndexError等。完整的异常处理结构为try-except-else-finally,其中finally用于资源清理。raise语句可主动抛出业务异常。异常会沿函数调用链逐层传递,直到被捕获。自定义异常类继承自Exception,能更准确表达业务语义,提升可读性与可维护性。工程化建议包括:避免使用裸except,优先捕获具体异常,保留异常上下文,利用finally清理资源,并合理使用自定义异常,不滥用异常替代分支判断。

Python学习-08函数进阶

Python学习-08函数进阶

Python函数进阶的核心在于“函数是一等对象”,可赋值、传递、嵌套和动态修改。文章系统讲解了多返回值与参数解包、高阶函数与匿名函数(lambda)、数据处理工具(map/filter/sorted/reduce)、推导式、深浅拷贝、作用域与LEGB规则、闭包(携带状态的函数)、装饰器(无侵入功能增强,包括函数装饰器和类装饰器)以及类型注解(代码文档化)。这些特性使代码更灵活、可复用,并为装饰器、元编程等高级领域打下基础。文章强调理解可变/不可变对象传递差异、闭包中自由变量的捕获、装饰器实现原理及类型注解对大型项目的价值。

Python学习-07面向对象

Python学习-07面向对象

面向对象编程(OOP)将数据和行为封装在对象中,通过类定义共性,继承实现复用,多态让不同对象对同一消息作出不同响应。Python完全支持OOP,涵盖类与实例(__init__初始化)、实例属性与类属性、实例方法/类方法(@classmethod)/静态方法(@staticmethod)。继承支持单继承和多重继承,通过super()调用父类,可重写方法。权限控制采用命名约定(单下划线表示受保护,双下划线通过名称改写实现私有),结合@property实现受控访问。魔法方法(如__str__、__lt__、__eq__)让对象更自然。多态既可通过继承实现,也依赖鸭子类型(动态语言特性)。抽象类(ABC)强制子类实现接口。综合案例(学生成绩管理系统)展示了数据封装、继承、类属性、魔法方法等核心概念。在实际开发中,遇到相似实体、继承关系、多态操作或需要封装复杂状态时,应优先考虑OOP,以提升代码可读性、可维护性和可扩展性。

Python学习-06数据容器

Python学习-06数据容器

Python提供了五种内置数据容器:列表、元组、字符串、集合、字典。列表是有序且可变的序列,支持增删改查、排序和反转;元组是有序但不可变的序列,常用于固定数据,支持解包;字符串是字符的不可变序列,可进行查找、分割、替换等操作;集合是无序且元素唯一的可变容器,支持并、交、差等数学运算;字典以键值对形式存储,键唯一且不可变,用于高效映射查找。所有容器均支持成员运算符`in`和类型转换函数。序列(列表、元组、字符串)还支持切片和相加/重复操作。选型建议:需要频繁修改用列表,固定数据用元组,文本处理用字符串,去重或集合运算用集合,键值映射用字典。掌握这些容器可应对绝大多数数据管理场景。

Python学习-05函数入门

Python学习-05函数入门

函数是Python编程的核心概念,用于封装可重复使用的代码块,提升代码可读性与维护性。Python函数分为内置函数、模块函数和自定义函数(使用`def`定义)。函数通过参数(位置参数、关键字参数、默认值、可变参数`*args`和`**kwargs`)实现灵活性,并可通过`/`和`*`限制传参方式。返回值用`return`,无返回值则默认返回`None`。变量作用域包括全局(函数外部)和局部(函数内部),修改全局变量需用`global`。函数支持嵌套调用和递归(需有终止条件)。编写函数说明文档(三引号)可提升可维护性。综合案例展示了函数在数据计算与条件判断中的应用。掌握这些知识点后,可将重复代码重构为函数,推动Python编程进阶。

Python学习-04流程控制语句

Python学习-04流程控制语句

Python流程控制包括分支和循环结构。分支结构通过if/elif/else实现条件选择,依靠缩进区分代码块,支持单分支、双分支、多分支及嵌套分支,用于处理不同条件逻辑。循环结构有while和for两种:while循环在条件为真时重复执行,需注意更新条件变量避免死循环;for循环用于遍历range、字符串、列表等可迭代对象。嵌套循环中外层每执行一次,内层完整执行一轮,典型应用如九九乘法表。循环控制符continue用于跳过本次循环剩余语句,break用于提前终止当前层循环。综合案例答题闯关游戏融合了上述所有知识点,通过for遍历关卡、while控制尝试次数、if判断答案、continue处理空输入、break退出循环。掌握流程控制是编写复杂程序的基础,建议通过动手练习加深理解。

Python学习-03Python核心基础

Python学习-03Python核心基础

本文系统介绍了编程语言(以Python为例)中最基础的底层概念。首先讲解了字面量的定义与常见类型(整数、浮点数、字符串、布尔值、空值),接着阐述了变量与常量的声明、标识符命名规则,以及注释的作用和写法。字符编码部分概述了ASCII、GB2312、Unicode和UTF-8的特点与应用场景。数据类型涵盖整型、浮点型、字符串的多种定义方式、格式化输出(f-string)、转义字符,并介绍了隐式与显式数据类型转换。运算符包括算术、赋值、比较、逻辑运算符及布尔类型的运算特性。此外还说明了二进制、八进制、十六进制的表示与转换方法,最后讲解了input()输入语句的使用及类型转换注意事项。这些概念是构建任何复杂程序的基石。

Python学习-02初识Python

Python学习-02初识Python

Python由Guido van Rossum于1989年圣诞节创建,设计哲学强调优雅、明确、简单。其优点包括简单易学、开源免费、可移植性强、丰富的库生态、解释型、面向对象及可扩展嵌入;缺点是运行速度较慢(可通过C扩展或科学计算库缓解)和代码加密困难(可通过云端部署规避)。AI领域广泛使用Python,因其简洁直观、拥有TensorFlow等丰富框架、可作为胶水语言调用底层库、社区活跃且有大厂推动。Python 2已于2020年停止维护,当前应使用Python 3(本教程基于3.13.x)。开发环境搭建需从官网下载Python解释器,安装时务必勾选“Add Python to PATH”并禁用路径长度限制;推荐安装PyCharm IDE,创建项目时使用虚拟环境以避免依赖冲突。运行Python程序有三种方式:命令行交互模式、脚本模式(运行.py文件)和IDE模式(图形化封装,效率最高)。