杰瑞科技汇

Learning Python 笔记,核心要点有哪些?

Python 学习笔记

Python 简介

  • 特点
    • 语法简洁:代码可读性高,接近自然语言。
    • 解释型语言:无需编译,一行一行执行,开发效率高。
    • 动态类型:变量类型在运行时确定,无需预先声明。
    • 功能强大:拥有丰富的标准库和第三方库(“电池 included”)。
    • 跨平台:可在 Windows, macOS, Linux 等多种操作系统上运行。
  • 应用领域:Web 开发、数据科学、人工智能、自动化脚本、网络爬虫、游戏开发等。

基础语法

变量与数据类型

  • 变量赋值:使用 进行赋值,无需指定类型。

    Learning Python 笔记,核心要点有哪些?-图1
    (图片来源网络,侵删)
    name = "Alice"      # 字符串
    age = 30            # 整数
    height = 5.6        # 浮点数
    is_student = True   # 布尔值
  • 基本数据类型

    • str (字符串):用单引号 或双引号 括起来。
      greeting = 'Hello, World!'
    • int (整数):没有小数部分的数字。
    • float (浮点数):带小数点的数字。
    • bool (布尔值):TrueFalse,常用于条件判断。
  • 复合数据类型

    • list (列表):有序、可变、可容纳任意类型元素的集合。
      fruits = ["apple", "banana", "cherry"]
      fruits.append("orange")  # 添加元素
      fruits[0] = "pear"       # 修改元素
    • tuple (元组):有序、不可变的集合,一旦创建,不能修改。
      coordinates = (10.0, 20.0)
      # coordinates[0] = 5.0  # 这行会报错
    • dict (字典):无序、键值对 集合,键 必须是唯一且不可变的。
      person = {"name": "Bob", "age": 25, "city": "New York"}
      print(person["name"])  # 通过键访问值
    • set (集合):无序、不重复元素的集合,常用于去重和数学运算。
      unique_numbers = {1, 2, 2, 3, 4, 4, 5}  # 结果为 {1, 2, 3, 4, 5}

运算符

  • 算术运算符:, , , (浮点除法), (整除), (取余), (幂)。
  • 比较运算符:, , >, <, >=, <=,返回布尔值。
  • 逻辑运算符and, or, not
  • 成员运算符in (检查元素是否存在), not in
    print("apple" in fruits)  # True
  • 身份运算符is (检查两个变量是否指向同一个对象), is not

控制流

  • 条件语句

    if age >= 18:
        print("Adult")
    elif age >= 13:
        print("Teenager")
    else:
        print("Child")
  • 循环语句

    Learning Python 笔记,核心要点有哪些?-图2
    (图片来源网络,侵删)
    • for 循环:用于遍历序列(如列表、元组、字符串、字典等)。

      # 遍历列表
      for fruit in fruits:
          print(fruit)
      # 遍历数字范围
      for i in range(5):  # 生成 0, 1, 2, 3, 4
          print(i)
    • while 循环:当条件为 True 时,重复执行代码块。

      count = 0
      while count < 5:
          print(count)
          count += 1
    • break:跳出整个循环。

    • continue:跳过本次循环,直接进入下一次循环。

函数

  • 定义函数:使用 def 关键字。

    def greet(name, greeting="Hello"):  # greeting 是默认参数
        """这是一个文档字符串,用于说明函数功能。"""
        return f"{greeting}, {name}!"
    message = greet("Charlie")
    print(message)  # 输出: Hello, Charlie!
  • 参数类型

    • 位置参数:按顺序传递。
    • 关键字参数:按参数名传递。
    • 默认参数:定义时给默认值。
    • 可变参数 (*args):接收任意数量的位置参数,并将其打包成一个元组。
    • 可变关键字参数 (**kwargs):接收任意数量的关键字参数,并将其打包成一个字典。

模块与包

  • 模块:一个 .py 文件,包含相关的函数、类和变量。

  • 导入模块

    # 导入整个模块
    import math
    print(math.sqrt(16))
    # 导入特定函数
    from math import pi
    print(pi)
    # 导入并使用别名
    import numpy as np
  • :一个包含多个模块的目录,通常有一个 __init__.py 文件。


进阶概念

面向对象编程

  • :创建对象的蓝图,定义了对象的属性和方法。

  • 对象:类的实例。

  • self:代表类的实例本身,在调用方法时由 Python 自动传递。

  • 构造函数__init__ 方法,在创建对象时自动调用。

    class Dog:
        def __init__(self, name, breed):
            self.name = name
            self.breed = breed
        def bark(self):
            return f"{self.name} says Woof!"
    my_dog = Dog("Rex", "German Shepherd")
    print(my_dog.bark())  # 输出: Rex says Woof!

文件操作

  • 打开文件:使用 open() 函数,推荐使用 with 语句,它能自动处理文件关闭。

    # 写入文件
    with open("my_file.txt", "w") as f:  # "w" 表示写入模式,会覆盖文件
        f.write("Hello, Python!")
    # 读取文件
    with open("my_file.txt", "r") as f:  # "r" 表示读取模式
        content = f.read()
        print(content)
  • 常用模式

    • "r":读取 (默认)
    • "w":写入 (覆盖)
    • "a":追加
    • "b":二进制模式 (如 "rb", "wb")

异常处理

  • 使用 try...except...finally 结构来捕获和处理程序运行时可能发生的错误,使程序更健壮。
    try:
        num = int(input("请输入一个数字: "))
        result = 10 / num
        print(f"结果是: {result}")
    except ValueError:
        print("输入无效,请输入一个数字!")
    except ZeroDivisionError:
        print("不能除以零!")
    finally:
        print("程序执行完毕。")

推导式

  • 一种简洁、高效创建列表、字典、集合的方式。
  • 列表推导式
    # 创建一个包含 0-9 平方的列表
    squares = [x**2 for x in range(10)]
    # 等价于:
    # squares = []
    # for x in range(10):
    #     squares.append(x**2)
  • 字典推导式
    # 创建一个数字及其平方的字典
    square_dict = {x: x**2 for x in range(5)}
    # 结果: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

Pythonic 风格与最佳实践

  • PEP 8:Python 的官方代码风格指南,遵循它能让你的代码更易读、更专业。
    • 使用 4 个空格缩进。
    • 行长建议不超过 79 个字符。
    • 使用下划线命名变量和函数 (snake_case)。
    • 使用大写字母命名常量和类 (UPPER_CASE, PascalCase)。
  • 虚拟环境:为每个项目创建独立的 Python 环境,避免包版本冲突。
    • 创建:python -m venv myenv
    • 激活:
      • Windows: myenv\Scripts\activate
      • macOS/Linux: source myenv/bin/activate
  • 列表/字典/集合的常用方法
    • list.append(), list.pop(), list.remove()
    • dict.keys(), dict.values(), dict.items(), dict.get() (安全获取值)
    • set.add(), set.remove(), set.union(), set.intersection()

常用标准库

  • os:与操作系统交互,如文件路径操作 (os.path)、环境变量 (os.environ)。
  • sys:与 Python 解释器交互,如获取命令行参数 (sys.argv)、退出程序 (sys.exit())。
  • json:用于 JSON 数据的编码和解码。
    import json
    data = {"name": "David", "age": 40}
    json_str = json.dumps(data)  # 转为 JSON 字符串
    parsed_data = json.loads(json_str)  # 从 JSON 字符串转为字典
  • datetime:处理日期和时间。
    from datetime import datetime, timedelta
    now = datetime.now()
    yesterday = now - timedelta(days=1)
  • collections:提供额外的数据类型,如 defaultdict, Counter, deque
  • itertools:创建高效循环的迭代器工具。

学习路径建议

  1. 打好基础:熟练掌握第二部分“基础语法”,特别是数据类型、控制流和函数,这是所有后续学习的基础。
  2. 动手实践:不要只看不练,尝试用 Python 解决小问题,
    • 编写一个简单的计算器。
    • 写一个脚本批量重命名文件。
    • 爬取你喜欢的网站的标题。
  3. 学习 OOP 和文件操作:这是构建大型应用的核心技能。
  4. 选择一个方向深入
    • Web 开发:学习 Django (功能全面,适合快速开发) 或 Flask (轻量级,灵活)。
    • 数据科学:学习 Pandas (数据处理), NumPy (数值计算), Matplotlib/Seaborn (数据可视化), Scikit-learn (机器学习)。
    • 自动化与爬虫:学习 Requests (发送 HTTP 请求), BeautifulSouplxml (解析 HTML), Selenium (自动化浏览器操作)。
  5. 阅读优秀代码:在 GitHub 上找一些你感兴趣的开源项目,阅读别人的代码,学习他们的设计模式和编码风格。
  6. 持续学习:关注 Python 社区,了解新特性和新技术。

这份笔记涵盖了 Python 学习的核心内容,祝你学习愉快,早日成为 Python 高手!

分享:
扫描分享到社交APP
上一篇
下一篇