1. Python 核心优势
- 简洁易读:语法接近自然语言,适合快速开发。
- 跨平台:支持 Windows、Linux、macOS 等系统。
- 生态丰富:拥有 NumPy、Pandas、Django、Flask 等海量库。
- 应用广泛:涵盖 Web 开发、数据分析、人工智能、自动化运维等领域。
2. 基础语法速览
2.1 变量与数据类型
# 变量无需声明类型
name = "Alice"
age = 25
is_student = True
# 常用数据类型
numbers = [1, 2, 3] # 列表
coordinates = (4, 5) # 元组
person = {"name": "Bob"} # 字典
2.2 流程控制
# 条件判断
if age >= 18:
print("成年人")
elif age >= 13:
print("青少年")
else:
print("儿童")
# 循环遍历
for num in numbers:
print(num * 2)
# While 循环
count = 0
while count < 3:
print(count)
count += 1
3. 函数与模块化
3.1 函数定义
def greet(name):
return f"Hello, {name}!"
print(greet("Alice")) # Hello, Alice!
3.2 模块化编程
# 导入模块
import math
print(math.sqrt(16)) # 4.0
# 创建自定义模块(utils.py)
# def add(a, b): return a + b
# 在其他文件中使用
from utils import add
print(add(2, 3)) # 5
4. 面向对象编程(OOP)
4.1 类与对象
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print(f"{self.name} 汪汪叫!")
dog = Dog("小黑")
dog.bark() # 小黑 汪汪叫!
4.2 继承与多态
class Cat(Dog):
def bark(self):
print(f"{self.name} 喵喵叫!")
cat = Cat("小白")
cat.bark() # 小白 喵喵叫!
5. 高级特性
5.1 生成器与迭代器
# 生成器函数
def count_down(n):
while n > 0:
yield n
n -= 1
for num in count_down(3):
print(num) # 3, 2, 1
5.2 装饰器
def logger(func):
def wrapper(*args):
print(f"调用函数:{func.__name__}")
return func(*args)
return wrapper
@logger
def add(a, b):
return a + b
print(add(2, 3)) # 调用函数:add → 5
6. 并发编程
6.1 多线程
import threading
def task():
print("子线程执行")
thread = threading.Thread(target=task)
thread.start()
thread.join()
6.2 异步编程
import asyncio
async def fetch_data():
await asyncio.sleep(1)
return "数据加载完成"
async def main():
result = await fetch_data()
print(result)
asyncio.run(main())
7. 数据科学与可视化
7.1 数据处理(Pandas)
import pandas as pd
data = pd.read_csv("data.csv")
print(data.head()) # 查看前5行
print(data.describe()) # 统计摘要
7.2 数学统计(NumPy)
data = np.array([3, 1, 4, 1, 5, 9, 2, 6])
print("总和:", np.sum(data)) # 31
print("均值:", np.mean(data)) # 3.875
print("标准差:", np.std(data)) # 2.647...
print("最大值索引:", np.argmax(data)) # 5(对应值9的索引)
7.3数据可视化(Matplotlib)
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6], marker='o')
plt.title("示例图表")
plt.xlabel("X轴")
plt.ylabel("Y轴")
plt.show()
8. 数据库操作(MongoDB)
from pymongo import MongoClient
client = MongoClient("mongodb://localhost:27017/")
db = client["mydb"]
collection = db["users"]
# 插入文档
collection.insert_one({"name": "Alice", "age": 30})
# 查询文档
result = collection.find({"age": {"$gt": 25}})
for doc in result:
print(doc)