当前位置: 首页 > news >正文

Python 中文完整教程目录

Python 教程¶

Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。

Python 官网(Welcome to Python.org)上免费提供了 Python 解释器和扩展的标准库,包括源码和适用于各操作系统的机器码形式,并可自由地分发。Python 官网还包含许多免费的第三方 Python 模块、程序和工具发布包及文档链接。

Python 解释器易于扩展,使用 C 或 C++(或其他 C 能调用的语言)即可为 Python 扩展新功能和数据类型。Python 也可用作定制软件中的扩展程序语言。

本教程只是简单介绍了 Python 语言概念和功能。读者在阅读本教程时最好使用 Python 解释器以便随时动手练习。本教程中的所有示例都是相互独立的并可离线阅读。

标准库与模块的内容详见 Python 标准库。Python 语言参考手册 是更正规的语言定义。如要编写 C 或 C++ 扩展请参考 扩展和嵌入 Python 解释器 和 Python/C API 参考手册。此外,深入讲解 Python 的书籍也有很多。

本教程对每一个功能的介绍并不完整,甚至没有涉及全部常用功能,只是介绍了 Python 中最值得学习的功能,旨在让读者快速感受一下 Python 的特色。学完本教程的读者可以阅读和编写 Python 模块和程序,也可以继续学习 Python 标准库。

强烈推荐阅读 术语对照表。

  • 1. 课前甜点
  • 2. Python 解释器
    • 2.1. 调用解释器
      • 2.1.1. 传入参数
      • 2.1.2. 交互模式
    • 2.2. 解释器的运行环境
      • 2.2.1. 源文件的字符编码
  • 3. Python 速览
    • 3.1. Python 用作计算器
      • 3.1.1. 数字
      • 3.1.2. 文本
      • 3.1.3. 列表
    • 3.2. 走向编程的第一步
  • 4. 更多控制流工具
    • 4.1. if 语句
    • 4.2. for 语句
    • 4.3. range() 函数
    • 4.4. 循环中的 break、continue 语句及 else 子句
    • 4.5. pass 语句
    • 4.6. match 语句
    • 4.7. 定义函数
    • 4.8. 函数定义详解
      • 4.8.1. 默认值参数
      • 4.8.2. 关键字参数
      • 4.8.3. 特殊参数
        • 4.8.3.1. 位置或关键字参数
        • 4.8.3.2. 仅位置参数
        • 4.8.3.3. 仅限关键字参数
        • 4.8.3.4. 函数示例
        • 4.8.3.5. 小结
      • 4.8.4. 任意实参列表
      • 4.8.5. 解包实参列表
      • 4.8.6. Lambda 表达式
      • 4.8.7. 文档字符串
      • 4.8.8. 函数注解
    • 4.9. 小插曲:编码风格
  • 5. 数据结构
    • 5.1. 列表详解
      • 5.1.1. 用列表实现堆栈
      • 5.1.2. 用列表实现队列
      • 5.1.3. 列表推导式
      • 5.1.4. 嵌套的列表推导式
    • 5.2. del 语句
    • 5.3. 元组和序列
    • 5.4. 集合
    • 5.5. 字典
    • 5.6. 循环的技巧
    • 5.7. 深入条件控制
    • 5.8. 序列和其他类型的比较
  • 6. 模块
    • 6.1. 模块详解
      • 6.1.1. 以脚本方式执行模块
      • 6.1.2. 模块搜索路径
      • 6.1.3. “已编译的” Python 文件
    • 6.2. 标准模块
    • 6.3. dir() 函数
    • 6.4. 包
      • 6.4.1. 从包中导入 *
      • 6.4.2. 相对导入
      • 6.4.3. 多目录中的包
  • 7. 输入与输出
    • 7.1. 更复杂的输出格式
      • 7.1.1. 格式化字符串字面值
      • 7.1.2. 字符串 format() 方法
      • 7.1.3. 手动格式化字符串
      • 7.1.4. 旧式字符串格式化方法
    • 7.2. 读写文件
      • 7.2.1. 文件对象的方法
      • 7.2.2. 使用 json 保存结构化数据
  • 8. 错误和异常
    • 8.1. 语法错误
    • 8.2. 异常
    • 8.3. 异常的处理
    • 8.4. 触发异常
    • 8.5. 异常链
    • 8.6. 用户自定义异常
    • 8.7. 定义清理操作
    • 8.8. 预定义的清理操作
    • 8.9. 引发和处理多个不相关的异常
    • 8.10. 用注释细化异常情况
  • 9. 类
    • 9.1. 名称和对象
    • 9.2. Python 作用域和命名空间
      • 9.2.1. 作用域和命名空间示例
    • 9.3. 初探类
      • 9.3.1. 类定义语法
      • 9.3.2. Class 对象
      • 9.3.3. 实例对象
      • 9.3.4. 方法对象
      • 9.3.5. 类和实例变量
    • 9.4. 补充说明
    • 9.5. 继承
      • 9.5.1. 多重继承
    • 9.6. 私有变量
    • 9.7. 杂项说明
    • 9.8. 迭代器
    • 9.9. 生成器
    • 9.10. 生成器表达式
  • 10. 标准库简介
    • 10.1. 操作系统接口
    • 10.2. 文件通配符
    • 10.3. 命令行参数
    • 10.4. 错误输出重定向和程序终止
    • 10.5. 字符串模式匹配
    • 10.6. 数学
    • 10.7. 互联网访问
    • 10.8. 日期和时间
    • 10.9. 数据压缩
    • 10.10. 性能测量
    • 10.11. 质量控制
    • 10.12. 自带电池
  • 11. 标准库简介 —— 第二部分
    • 11.1. 格式化输出
    • 11.2. 模板
    • 11.3. 使用二进制数据记录格式
    • 11.4. 多线程
    • 11.5. 日志记录
    • 11.6. 弱引用
    • 11.7. 用于操作列表的工具
    • 11.8. 十进制浮点运算
  • 12. 虚拟环境和包
    • 12.1. 概述
    • 12.2. 创建虚拟环境
    • 12.3. 使用pip管理包
  • 13. 接下来?
  • 14. 交互式编辑和编辑历史
    • 14.1. Tab 补全和编辑历史
    • 14.2. 默认交互式解释器的替代品
  • 15. 浮点算术:争议和限制
    • 15.1. 表示性错误
  • 16. 附录
    • 16.1. 交互模式
      • 16.1.1. 错误处理
      • 16.1.2. 可执行的Python脚本
      • 16.1.3. 交互式启动文件
      • 16.1.4. 定制模块

相关文章:

Python 中文完整教程目录

Python 教程 Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。 Python 官网(…...

C/C++---------------LeetCode第35. 搜索插入位置

插入的位置 题目及要求二分查找在main内使用 题目及要求 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: …...

网络安全--基于Kali的网络扫描基础技术

文章目录 1. 标准ICMP扫描1.1使用Ping命令1.1.1格式1.1.2实战 1.2使用Nmap工具1.2.1格式1.2.2实战1.2.2.1主机在线1.2.2.2主机不在线 1.3使用Fping命令1.3.1格式1.3.2实战 2. 时间戳查询扫描2.1格式2.2实战 3. 地址掩码查询扫描3.1格式3.2实战 2. TCP扫描2.1TCP工作机制2.2TCP …...

C语言——求π的近似值

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<math.h> int main() {int s;double n,t,pi;t1;pi0;n1.0;s1;while (fabs(t)>1e-6){pipit; nn2; s-s; ts/n;}pipi*4;printf("pi%lf\n",pi);return 0; }这里是求小数点后6位——1e-6&#…...

如何使用ffmpeg转换图片格式

ffmpeg简介与图片格式介绍 windows安装ffmpeg&#xff0c;从如下网站下载release版本 https://www.gyan.dev/ffmpeg/builds/ ffmpeg 6.1版本仍然不支持heic的图片格式&#xff0c;未来可能会支持&#xff0c;具体见该issue&#xff1a; https://trac.ffmpeg.org/ticket/6521 …...

11 动态规划解最后一块石头的重量II

来源&#xff1a;LeetCode第1049题 难度&#xff1a;中等 描述&#xff1a;有一堆石头&#xff0c;用证书数组stones表示&#xff0c;其中stones[i]表示第i块石头的重量&#xff0c;每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将他们放在一起粉碎&#xff0c;…...

LeetCode算法题解(动态规划,股票买卖)|LeetCode121. 买卖股票的最佳时机、LeetCode122. 买卖股票的最佳时机 II

一、LeetCode121. 买卖股票的最佳时机 题目链接&#xff1a;121. 买卖股票的最佳时机 题目描述&#xff1a; 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一…...

python实验3 石头剪刀布游戏

实验3&#xff1a;石头剪刀布游戏 一、实验目的二、知识要点图三、实验1. 石头剪刀布2. 实现大侠个人信息 一、实验目的 了解3类基本组合数据类型。理解列表概念并掌握Python中列表的使用。理解字典概念并掌握Python中字典的使用。运用jieba库进行中文分词并进行文本词频统计。…...

米贸搜|如何设置 Facebook 转换 API + 事件重复数据删除

Facebook Pixel 可让您跟踪用户在您网站上的行为、收集再营销受众并创建相似对象。如果 Facebook 像素实现正确&#xff0c;它将向 FB 机器学习算法提供相关信息。 FB ML 将使用像素数据向最有可能转化的人展示您的广告。 几年来&#xff0c;我们可以通过 JavaScript 代码、应…...

python每日一题——11滑动窗口最大值

题目 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a;nums [1,3,-1,-3,5,3,6,7], k 3…...

【C++ 程序设计入门基础】- 第3节-循环结构01

目录 循环结构 一、for 语句 for 循环案例 输入一个整数n&#xff0c;输出1&#xff5e;n的所有整数。 编译运行&#xff0c;查看输出结果 编译调试 for 循环结构语义分析 二、beak 语句 三、continue 语句 案例1&#xff1a; 案例2&#xff1a; 案例3&#xff1a; 循环…...

人工智能原理复习--知识表示(一)

文章目录 上一篇知识概述命题逻辑谓词逻辑谓词逻辑的应用 下一篇 上一篇 人工智能原理复习–绪论 知识概述 知识就是人类认识自然界的精神产物&#xff0c;是人类进行智能活动的基础。 是经过加工的信息&#xff0c;包括事实、信念和启发式规则。 分类&#xff1a; 按作用可…...

网络运维与网络安全 学习笔记2023.11.28

网络运维与网络安全 学习笔记 第二十九天 今日目标 OSPF汇总之域间路由、OSPF汇总之外部路由、OSPF链路认证 OSPF安全认证之区域认证、OSPF虚链路 OSPF汇总指域间路由 项目背景 企业内网运行多区域的OSPF网络&#xff0c;在R1 上存在多个不稳定的链路 R1上的不稳定链路&a…...

Rust开发——数据对象的内存布局

枚举与Sized 数据 一般数据类型的布局是其大小&#xff08;size&#xff09;、对齐方式&#xff08;align&#xff09;及其字段的相对偏移量。 1. 枚举&#xff08;Enum&#xff09;的布局&#xff1a; 枚举类型在内存中的布局通常是由编译器来确定的。不同的编译器可能有不…...

mySQL踩坑记录

1.MYSQL Workbench-8.0.27.1出现"Exception: Current profile has no WMI enabled"错误的解决方法 MYSQL Workbench-8.0.27.1出现“Exception: Current profile has no WMI enabled“错误的解决方法_赛风扥的博客-CSDN博客 C:\Program Files\MySQL\MySQL Workbench …...

【Java】使用 IDEA 快速生成 SpringBoot 模块

项目目录下新建 module 模块 在 pom.xml 更改为 spring initializr 配置之后的 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchem…...

2023网络安全产业图谱

1. 前言 2023年7月10日&#xff0c;嘶吼安全产业研究院联合国家网络安全产业园区&#xff08;通州园&#xff09;正式发布《嘶吼2023网络安全产业图谱》。 嘶吼安全产业研究院根据当前网络安全发展规划与趋势发布《嘶吼2023网络安全产业图谱》调研&#xff0c;旨在进一步了解…...

一则 MongoDB 副本集迁移实操案例

文中详细阐述了通过全量 增量 Oplog 的迁移方式&#xff0c;完成一套副本集 MongoDB 迁移的全过程。 作者&#xff1a;张然&#xff0c;DBA 数据库技术爱好者~ 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 本文约 900…...

2022年03月 Scratch图形化(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共10题,每题2分,共30分) 第1题 由1,2,3,4,5,0这六个数字经过排列组合能够组成多少个六位数偶数?注意:每一位都不相同,最高位不能为0。 A:720 B:360 C:312 D:88 答案:C 逻辑知识单选题 第2题 运行以下程…...

传音荣获2023首届全国人工智能应用场景创新挑战赛“智能家居专项赛”三等奖

近日&#xff0c;中国人工智能学会与科技部新一代人工智能发展研究中心联合举办2023首届全国人工智能应用场景创新挑战赛&#xff08;2023 1st China’s Innovation Challenge on Artificial Intelligence Application Scene&#xff0c;以下简称CICAS 2023)&#xff0c;吸引了…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...