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 的环境搭建也是如此。以下是关键步骤:
- 下载安装包:访问 Python 官方网站 ,下载对应操作系统的安装包。
- 勾选关键选项:安装时务必勾选 "Add Python to PATH"(Windows)或配置环境变量(Linux/macOS)。
- 验证安装:打开终端输入
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 学习路径
通过本教程,我们完成了从环境搭建到实战案例的完整学习路径。对于初学者,建议:
- 夯实基础:反复练习变量、循环、函数等核心概念。
- 动手实践:通过 LeetCode 或小项目巩固知识。
- 探索生态:学习 Pandas、NumPy 等库,进入数据分析领域。
中级开发者可进一步:
- 深入 OOP:理解多重继承、元类等高级概念。
- 优化性能:学习装饰器、生成器等优化技巧。
- 参与开源:在 GitHub 上贡献代码,提升实战能力。
Python3 的学习如同攀登阶梯,每一步积累都会让你离目标更近。保持好奇心,享受编程带来的乐趣吧!