Python3 教程(一文讲透)

更新时间:

💡一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 82w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2900+ 小伙伴加入学习 ,欢迎点击围观

前言:为什么选择 Python3?

在编程语言的广阔世界中,Python 凭借其简洁优雅的语法、强大的生态体系以及广泛的应用场景,成为初学者入门和开发者进阶的首选工具。Python3 作为当前主流版本,不仅继承了 Python 的核心优势,更通过语法优化和性能提升,成为人工智能、数据分析、Web 开发等领域的核心语言。本篇教程将从基础语法讲起,逐步深入到进阶概念,并结合实际案例,帮助读者构建系统化的 Python 知识体系。


环境搭建:Python3 的“厨房”准备

安装与配置

想象你第一次走进厨房,需要先准备好厨具和食材。Python3 的环境搭建也是如此。以下是关键步骤:

  1. 下载安装包:访问 Python 官方网站 ,下载对应操作系统的安装包。
  2. 勾选关键选项:安装时务必勾选 "Add Python to PATH"(Windows)或配置环境变量(Linux/macOS)。
  3. 验证安装:打开终端输入 python3 --version,若显示版本号(如 Python 3.9.0),则安装成功。

开发工具推荐

  • VS Code:轻量级且支持 Python 插件,适合初学者。
  • PyCharm:专业的 Python IDE,适合中高级开发者。
  • Jupyter Notebook:适合数据分析和代码演示,可通过 pip install notebook 安装。

基础语法:Python 的“乐高积木”构建

变量与数据类型

Python 的变量无需显式声明类型,直接赋值即可:

age = 25           # int
price = 19.99      # float
name = "Alice"     # str

比喻:变量就像贴着标签的盒子,标签名是变量名,盒子里装的是数据。

基本运算与控制流

算术运算

total = 10 + 5     # 15
remainder = 10 % 3 # 1

条件语句

score = 85
if score >= 90:
    print("优秀")
elif score >= 60:
    print("及格")
else:
    print("不及格")

比喻:条件语句如同交通灯,根据输入的“颜色”决定执行哪条路径。

循环结构

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

count = 0
while count < 3:
    print(count)
    count += 1

数据结构:Python 的“工具箱”

列表(List)

列表是可变的有序集合:

numbers = [1, 2, 3]
numbers.append(4)       # 添加元素
print(numbers[0])      # 输出第一个元素(索引从0开始)

元组(Tuple)

元组是不可变的有序集合:

dimensions = (1920, 1080)
width = dimensions[0]  # 读取元素

字典(Dictionary)

字典是键值对的集合:

student = {"name": "Bob", "age": 20}
print(student["name"])  # 输出 "Bob"

对比表格: | 数据类型 | 可变性 | 特点 | |----------|--------|--------------------------| | 列表 | 可变 | 有序,允许重复元素 | | 元组 | 不可变 | 有序,常用于固定数据 | | 字典 | 可变 | 无序,通过键快速查找 |


函数与模块:Python 的“乐高积木”组合

函数定义与调用

函数是可重复使用的代码块:

def calculate_area(radius):
    return 3.14 * radius ** 2

area = calculate_area(5)
print(area)  # 输出 78.5

模块与标准库

Python 的模块系统如同工具箱中的不同抽屉:

  • 导入模块
    import math
    print(math.sqrt(16))  # 输出 4.0
    
  • 别名导入
    import pandas as pd
    df = pd.DataFrame()   # 使用 pandas 创建数据框
    

匿名函数与高阶函数

double = lambda x: x * 2
print(double(3))        # 输出 6

numbers = [1, 2, 3]
result = list(map(lambda x: x**2, numbers))
print(result)           # 输出 [1,4,9]

面向对象编程(OOP):Python 的“蓝图与实例”

类与对象

类是对象的蓝图:

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        return f"{self.name} says Woof!"

my_dog = Dog("Buddy", 3)
print(my_dog.bark())    # 输出 "Buddy says Woof!"

继承与多态

class GoldenRetriever(Dog):
    def fetch(self):
        return f"{self.name} is fetching the ball!"

buddy = GoldenRetriever("Buddy", 3)
print(buddy.fetch())    # 输出 "Buddy is fetching the ball!"

比喻:继承如同生物学中的“物种进化”,子类保留父类特性并扩展新功能。


异常处理:Python 的“安全网”

基本语法

try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"错误:{e}")
finally:
    print("无论是否出错都会执行")

自定义异常

class InvalidAgeError(Exception):
    pass

def check_age(age):
    if age < 0:
        raise InvalidAgeError("年龄不能为负数")

进阶主题:让 Python 更“聪明”

生成器与迭代器

生成器通过 yield 关键字实现惰性计算:

def count_up_to(n):
    i = 0
    while i < n:
        yield i
        i += 1

for num in count_up_to(3):
    print(num)  # 输出 0,1,2

装饰器

装饰器是函数的“包装器”:

def my_decorator(func):
    def wrapper():
        print("装饰器开始执行")
        func()
        print("装饰器结束执行")
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

say_hello()  # 输出装饰器前后的内容

实战案例:构建一个简单 Web 爬虫

目标:爬取网页标题

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
title = soup.title.string
print(f"网页标题:{title}")

扩展功能:保存到 CSV

import csv

data = [{"title": "Page1", "url": "page1.html"},
        {"title": "Page2", "url": "page2.html"}]

with open("output.csv", "w", newline="") as f:
    writer = csv.DictWriter(f, fieldnames=["title", "url"])
    writer.writeheader()
    writer.writerows(data)

结论:持续进阶的 Python 学习路径

通过本教程,我们完成了从环境搭建到实战案例的完整学习路径。对于初学者,建议:

  1. 夯实基础:反复练习变量、循环、函数等核心概念。
  2. 动手实践:通过 LeetCode 或小项目巩固知识。
  3. 探索生态:学习 Pandas、NumPy 等库,进入数据分析领域。

中级开发者可进一步:

  • 深入 OOP:理解多重继承、元类等高级概念。
  • 优化性能:学习装饰器、生成器等优化技巧。
  • 参与开源:在 GitHub 上贡献代码,提升实战能力。

Python3 的学习如同攀登阶梯,每一步积累都会让你离目标更近。保持好奇心,享受编程带来的乐趣吧!

最新发布