Python详细学习教程

以下是一份系统的Python详细学习教程,从基础到进阶逐步展开:

一、Python基础:语法与核心概念

1. 环境搭建

  • 安装Python:从官网下载对应系统版本,勾选“Add Python to PATH”,验证安装:python --version(Windows)或python3 --version(Mac/Linux)。
  • 选择IDE
    • 新手推荐:IDLE(Python自带,轻量)、PyCharm Community(免费,功能全)、VS Code(需安装Python插件)。
    • 快捷验证:在终端输入python进入交互模式,输入print("Hello World")测试。

2. 基础语法

  • 变量与数据类型

    • 变量:name = "Python"(无需声明类型,动态类型)。
    • 核心类型:
      • 数值:int(整数)、float(浮点数)、complex(复数:3+4j)。
      • 字符串:str(单/双引号包裹,支持"a"+"b"拼接、"a"*3重复)。
      • 布尔值:True/False,支持and/or/not运算。
    • 类型转换:int("123")str(123)float("3.14")
  • 运算符

    • 算术:+-*/(浮点数除法)、//(整数除法)、%(取余)、**(幂运算:2**3=8)。
    • 比较:==(等于)、!=(不等于)、><>=<=
    • 赋值:a = b = 5a += 1(等价a = a + 1)。
  • 流程控制

    • 条件语句
      score = 85
      if score >= 90:
          print("优秀")
      elif 80 <= score < 90:
          print("良好")
      else:
          print("加油")
      
    • 循环
      • for循环(遍历序列):
        for i in range(5):  # 0-4
            print(i)
        for fruit in ["苹果", "香蕉"]:
            print(fruit)
        
      • while循环(条件满足时执行):
        count = 0
        while count < 3:
            print(count)
            count += 1  # 避免死循环
        
      • 控制语句:break(跳出循环)、continue(跳过当前轮次)。
  • 函数

    • 定义:def 函数名(参数): ... return 结果
    • 示例:
      def add(a, b=0):  # b为默认参数
          return a + b
      print(add(2))  # 输出2(b默认0)
      print(add(2, 3))  # 输出5
      
    • 可变参数:*args(接收多个位置参数, tuple类型)、**kwargs(接收多个关键字参数, dict类型):
      def sum(*args):
          return sum(args)
      print(sum(1, 2, 3))  # 输出6
      

** 二、数据结构:容器与操作**#### 1. 列表(List)

  • 定义:lst = [1, "a", True](有序、可变、可重复)。
  • 核心操作:
    • 索引:lst[0](取第一个元素)、lst[-1](取最后一个)。
    • 切片:lst[1:3](取索引1到2的元素)、lst[::2](步长2,隔一个取一个)。
    • 方法:lst.append(2)(末尾添加)、lst.insert(1, "b")(指定位置插入)、lst.remove("a")(删除元素)、lst.sort()(排序)。
    • 列表推导式(高效创建列表):
      squares = [x**2 for x in range(5)]  # [0, 1, 4, 9, 16]
      even_numbers = [x for x in [1,2,3,4] if x % 2 == 0]  # [2,4]
      

2. 元组(Tuple)

  • 定义:tup = (1, 2, 3)(有序、不可变,可通过()或直接逗号分隔创建)。
  • 特点:不可修改元素,适合存储固定数据(如坐标、配置项),比列表更轻量。
  • 操作:支持索引、切片,但无append等修改方法。

3. 字典(Dictionary)

  • 定义:person = {"name": "Alice", "age": 20}(键值对集合,无序→Python 3.7+有序)。
  • 核心操作:
    • 访问:person["name"]person.get("name")get避免键不存在报错)。
    • 修改:person["age"] = 21(新增或更新键值对)。
    • 方法:person.keys()(所有键)、person.values()(所有值)、person.items()(所有键值对)。
    • 字典推导式:
      squares = {x: x**2 for x in range(4)}  # {0:0, 1:1, 2:4, 3:9}
      

4. 集合(Set)

  • 定义:s = {1, 2, 3}s = set([1,2,3])(无序、无重复元素)。
  • 核心操作:
    • 去重:set([1,1,2]){1,2}
    • 运算:交集(s1 & s2)、并集(s1 | s2)、差集(s1 - s2)。
    • 方法:s.add(4)(添加元素)、s.remove(1)(删除元素)。

三、进阶语法与核心特性

1. 字符串高级操作

  • 格式化:
    • f-string(推荐):f"Name: {name}, Age: {age}"
    • format方法:"Name: {0}, Age: {1}".format(name, age)
  • 常用方法:
    • str.split(",")(按逗号分割)、str.join(["a", "b"])(拼接列表为字符串)。
    • str.strip()(去除首尾空格)、str.upper()(转大写)、str.lower()(转小写)。
    • 正则表达式(re模块):匹配、替换文本,例如:
      import re
      text = "Email: test@example.com"
      match = re.search(r"\w+@\w+\.\w+", text)  # 匹配邮箱
      print(match.group())  # 输出test@example.com
      

2. 文件操作

  • 基本流程:open() → 读写 → close(),推荐用with语句自动关闭文件:
    # 写入文件
    with open("test.txt", "w", encoding="utf-8") as f:  # "w":覆盖写入;"a":追加
        f.write("Hello, File!")
    
    # 读取文件
    with open("test.txt", "r", encoding="utf-8") as f:
        content = f.read()  # 读全部
        # content = f.readline()  # 读一行
        # content = f.readlines()  # 读所有行到列表
    print(content)
    

3. 异常处理

  • 捕获错误避免程序崩溃:
    try:
        result = 10 / 0
    except ZeroDivisionError:
        print("除数不能为0")
    except Exception as e:  # 捕获其他异常
        print(f"出错了:{e}")
    else:  # 无异常时执行
        print(f"结果:{result}")
    finally:  # 无论是否异常都执行(如关闭资源)
        print("操作结束")
    

4. 模块与包

  • 模块:一个.py文件,通过import导入:
    import math  # 导入整个模块
    print(math.sqrt(4))  # 2.0
    
    from math import sqrt  # 导入特定函数
    print(sqrt(9))  # 3.0
    
  • 常用标准库:math(数学运算)、datetime(日期时间)、os(系统操作)、json(JSON处理)。

四、面向对象编程(OOP)

1. 类与对象

  • 类:对象的模板,定义属性和方法;对象:类的实例。
    class Person:
        # 初始化方法(构造函数)
        def __init__(self, name, age):
            self.name = name  # 实例属性
            self.age = age
        
        # 实例方法
        def greet(self):
            return f"Hello, I'm {self.name}"
    
    # 创建对象
    p = Person("Bob", 25)
    print(p.name)  # Bob
    print(p.greet())  # Hello, I'm Bob
    

2. 继承与多态

  • 继承:子类复用父类代码,可重写方法:
    class Student(Person):  # 继承Person
        def __init__(self, name, age, major):
            super().__init__(name, age)  # 调用父类初始化
            self.major = major
        
        # 重写父类方法
        def greet(self):
            return f"Hello, I'm {self.name}, majoring in {self.major}"
    
  • 多态:不同对象调用同一方法表现不同行为。

五、高级应用方向

  1. Web开发:学习Flask(轻量)或Django(全栈),开发API或网站。
  2. 数据分析:用Pandas处理表格数据,NumPy做数值计算,Matplotlib/Seaborn可视化。
  3. 自动化:用Selenium自动化浏览器,PyAutoGUI控制鼠标键盘。
  4. 机器学习:Scikit-learn(传统ML)、TensorFlow/PyTorch(深度学习)。

学习资源

  • 书籍:《Python编程:从入门到实践》(入门)、《流畅的Python》(进阶)。
  • 实践:LeetCode(算法题)、Kaggle(数据分析项目)、GitHub(开源项目贡献)。

通过“语法学习→代码练习→项目实践”的循环,逐步提升Python能力。

posted @ 2025-08-30 16:58  七个小胖子  阅读(2)  评论(0)    收藏  举报