STLG_05_21_Python - 小结

1. 引言

Python 是一种高级编程语言,以其简洁和易读性而闻名。它被广泛应用于Web开发、数据分析、人工智能、科学计算等领域。本学习笔记将带领你从零开始,逐步掌握 Python 编程。

2. Python 基础

2.1 安装与配置
  • 安装 Python:访问 Python 官方网站 下载并安装最新版本的 Python。
  • 配置环境变量:将 Python 安装路径添加到系统环境变量中,以便在命令行中运行 Python。
2.2 基本语法
  • 注释:单行注释使用 #,多行注释使用三引号 ''' 或 """
  • 变量与数据类型
    • 变量:无需声明类型,直接赋值即可,例如 x = 10
    • 基本数据类型:整数 int、浮点数 float、字符串 str、布尔值 bool
  • 运算符
    • 算术运算符:+-*/%** (幂运算), // (整除)。
    • 比较运算符:==!=><>=<=
    • 逻辑运算符:andornot
2.3 控制结构
  • 条件语句
    • if 语句:根据条件执行不同的代码块。
    • elif 和 else:提供多个条件分支。
  • 循环语句
    • for 循环:迭代序列中的元素。
    • while 循环:在条件为真时重复执行代码块。
  • 跳转语句
    • break:终止循环。
    • continue:跳过当前迭代,继续下一次循环。
    • pass:占位符,表示空语句。

3. 数据结构

3.1 列表 (List)
  • 创建列表my_list = [1, 2, 3, 4, 5]
  • 索引与切片:访问元素,例如 my_list[0],切片 my_list[1:3]
  • 常用操作
    • 添加元素:append()insert()extend()
    • 删除元素:remove()pop()
    • 其他操作:sort()reverse()len()
3.2 元组 (Tuple)
  • 创建元组my_tuple = (1, 2, 3, 4, 5)
  • 不可变性:元组一旦创建,不能修改。
  • 常用操作:索引、切片、计数、索引查找。
3.3 字典 (Dictionary)
  • 创建字典my_dict = {'a':1, 'b':2, 'c':3}
  • 键值对操作:访问值、添加/修改键值对、删除键值对。
  • 常用方法keys()values()items()get()pop()
3.4 集合 (Set)
  • 创建集合my_set = {1, 2, 3, 4, 5}
  • 集合操作:交集、并集、差集、子集检查。
  • 常用方法add()remove()pop()clear()

4. 函数与模块

4.1 函数定义
  • 基本语法def function_name(parameters):
  • 返回值:使用 return 语句返回结果。
  • 参数传递:位置参数、关键字参数、默认参数、可变参数 *args 和 **kwargs
4.2 模块与包
  • 导入模块:使用 import 语句导入模块。
  • 模块搜索路径sys.path
  • 创建包:使用 __init__.py 文件定义包。

5. 文件操作

  • 打开文件:使用 open() 函数,模式包括 r(读)、w(写)、a(追加)、rb(二进制读)等。
  • 读写操作
    • 读取文件:read()readline()readlines()
    • 写入文件:write()writelines()
  • 文件关闭:使用 close() 方法或 with 语句管理文件。

6. 异常处理

  • 基本语法
    • try::尝试执行可能引发异常的代码。
    • except Exception as e::捕获并处理异常。
    • else::没有异常时执行。
    • finally::无论是否发生异常都执行。
  • 自定义异常:使用 raise 语句抛出自定义异常。

7. 面向对象编程 (OOP)

7.1 类与对象
  • 定义类:使用 class 关键字。
  • 实例化对象:创建类的实例。
  • 属性与方法
    • 实例属性:在 __init__ 方法中定义。
    • 实例方法:操作实例属性的方法。
7.2 继承与多态
  • 继承:子类继承父类的属性和方法。
  • 多态:不同类的对象对同一消息作出不同的响应。
7.3 封装与抽象
  • 封装:通过访问控制机制保护对象的属性。
  • 抽象类与接口:使用 abc 模块定义抽象基类。

8. 常用标准库

8.1 数学运算
  • 数学函数math 模块,提供三角函数、对数函数等。
  • 随机数生成random 模块,生成随机数和随机选择。
8.2 字符串操作
  • 字符串方法upper()lower()strip()split()join() 等。
  • 格式化字符串:使用 format() 方法或 f-string。
8.3 时间与日期
  • 时间操作time 模块,获取当前时间、睡眠等。
  • 日期操作datetime 模块,处理日期和时间。
8.4 文件与目录
  • 文件操作os 模块,管理文件和目录。
  • 路径操作os.path 模块,处理文件路径。

9. 第三方库

9.1 NumPy
  • 数组操作:高效的多维数组对象 ndarray
  • 数学函数:线性代数、傅里叶变换、随机数生成等。
9.2 Pandas
  • 数据处理:数据结构 Series 和 DataFrame
  • 数据分析:数据清洗、转换、合并、分组等。
9.3 Matplotlib
  • 数据可视化:绘制各种图表,如折线图、柱状图、散点图等。
  • 自定义图形:设置标题、标签、颜色、样式等。
9.4 Scikit-learn
  • 机器学习:提供各种机器学习算法,如分类、回归、聚类等。
  • 模型评估:交叉验证、性能度量等。

10. Web 开发

10.1 Flask
  • 创建 Web 应用:使用 Flask 框架快速搭建 Web 应用。
  • 路由与视图函数:定义 URL 路由和对应的处理函数。
  • 模板渲染:使用 Jinja2 模板引擎渲染 HTML 页面。
10.2 Django
  • 全栈框架:提供模型、视图、模板等组件。
  • 数据库操作:使用 ORM 操作数据库。
  • 用户认证:内置用户认证系统。

11. 数据分析与科学计算

11.1 数据处理
  • 数据清洗:处理缺失值、重复值、异常值等。
  • 数据转换:数据归一化、标准化、编码等。
11.2 可视化
  • 基本图表:折线图、柱状图、散点图等。
  • 高级可视化:热力图、三维图、动画等。
11.3 机器学习
  • 监督学习:回归、分类等。
  • 无监督学习:聚类、降维等。
  • 模型评估:准确率、召回率、F1 分数等。

12. 实战项目

12.1 简易计算器
  • 功能:实现基本的加、减、乘、除运算。
  • 实现:使用函数封装运算操作,通过用户输入选择运算类型。
12.2 数据分析报告
  • 数据来源:公开数据集,如房价数据、销售数据等。
  • 分析步骤
    • 数据加载与预处理。
    • 描述性统计分析。
    • 数据可视化。
    • 模型建立与预测。
12.3 博客网站
  • 技术栈:Flask 或 Django 框架。
  • 功能:用户注册与登录、文章发布与管理、评论系统等。

13. 调试与优化

  • 调试工具pdb 调试器,设置断点、单步执行、查看变量等。
  • 代码优化:使用列表推导式、生成器、优化算法等提高代码效率。
  • 性能分析:使用 cProfile 模块分析代码性能瓶颈。

附加资源

参考资源

附录

附录 A:安装与配置
  • 安装 Python

    • 访问 Python 官方网站 下载最新版本的 Python。
    • 运行安装程序,勾选“Add Python to PATH”选项。
  • 配置环境变量

    • 在 Windows 系统中,编辑系统环境变量,添加 Python 安装路径。
    • 在命令行中输入 python,检查是否成功安装。
附录 B:常用快捷键
  • 代码编辑器快捷键

    • VSCode:
      • 新建文件:Ctrl + N
      • 保存文件:Ctrl + S
      • 运行代码:Ctrl + Alt + N
    • PyCharm:
      • 运行代码:Shift + F10
      • 调试代码:Shift + F9
  • 命令行快捷键

    • 自动补全:Tab
    • 历史命令: 和 
    • 清屏:Ctrl + L
附录 C:常见错误与解决方法
  • SyntaxError

    • 原因:代码语法错误,如缺少冒号、括号不匹配等。
    • 解决方法:检查代码语法,确保正确使用符号和结构。
  • NameError

    • 原因:使用未定义的变量。
    • 解决方法:检查变量是否已定义,确保拼写正确。
  • TypeError

    • 原因:操作或函数应用于不适当的数据类型。
    • 解决方法:检查变量类型,确保操作适用于该类型。
  • IndexError

    • 原因:访问序列中不存在的索引。
    • 解决方法:检查序列长度,确保索引在有效范围内。
  • KeyError

    • 原因:访问字典中不存在的键。
    • 解决方法:检查键是否存在,使用 get() 方法避免错误。

附录 D:补充知识点

  • 装饰器:一种用于修改函数或方法行为的高级功能。
  • 生成器:用于简化迭代器实现的语法糖。
  • 上下文管理器:确保资源正确释放的机制,如文件操作。
  • 多线程与多进程:处理并发和并行计算的技术。
  • 正则表达式:用于文本匹配和处理的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值