Python 编程教程

1. Python 简介

Python 是一种高级编程语言,以其简洁的语法和强大的功能而闻名。它被广泛用于Web开发、数据分析、人工智能、科学计算等领域。

2. 基础语法

变量和数据类型

# 变量赋值
name = "张三"
age = 25
height = 1.75
is_student = True

# Python 中的基本数据类型
number = 42        # int
decimal = 3.14     # float
text = "Hello"     # str
flag = True        # bool
nothing = None     # NoneType

字符串操作

# 字符串创建
message = "Hello, Python!"
multi_line = """这是一个
多行字符串"""

# 字符串格式化
name = "李四"
age = 30
formatted = f"我叫{name},今年{age}岁"  # f-string
old_style = "我叫%s,今年%d岁" % (name, age)  # % 格式化

# 字符串方法
text = "Python Programming"
print(text.lower())      # 转小写
print(text.upper())      # 转大写
print(text.split())      # 分割字符串
print(text.replace("Python", "Java"))  # 替换

3. 数据结构

列表 (List)

# 列表创建和操作
fruits = ["苹果", "香蕉", "橙子"]
numbers = [1, 2, 3, 4, 5]

# 添加元素
fruits.append("葡萄")        # 末尾添加
fruits.insert(1, "草莓")     # 指定位置插入

# 删除元素
fruits.remove("香蕉")        # 删除指定值
popped = fruits.pop()        # 删除并返回最后一个元素

# 列表推导式
squares = [x**2 for x in range(10)]
even_squares = [x**2 for x in range(10) if x % 2 == 0]

字典 (Dictionary)

# 字典创建和操作
person = {
    "name": "王五",
    "age": 28,
    "city": "上海"
}

# 访问和修改
print(person["name"])         # 访问值
person["age"] = 29           # 修改值
person["job"] = "程序员"      # 添加新键值对

# 字典方法
keys = person.keys()         # 获取所有键
values = person.values()     # 获取所有值
items = person.items()       # 获取所有键值对

# 字典推导式
squares_dict = {x: x**2 for x in range(5)}

4. 函数

函数定义和调用

# 基本函数
def greet(name):
    return f"你好,{name}!"

# 带默认参数的函数
def introduce(name, age=18):
    return f"我叫{name},今年{age}岁"

# 可变参数
def sum_all(*args):
    return sum(args)

# 关键字参数
def create_profile(**kwargs):
    return kwargs

# 函数调用
message = greet("小明")
profile = create_profile(name="小红", age=20, city="北京")

Lambda 函数

# Lambda 函数(匿名函数)
square = lambda x: x**2
add = lambda x, y: x + y

# 在高阶函数中使用
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
evens = list(filter(lambda x: x % 2 == 0, numbers))

5. 控制流

条件语句

# if-elif-else 语句
score = 85

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
else:
    grade = "F"

# 条件表达式(三元运算符)
status = "通过" if score >= 60 else "不通过"

循环语句

# for 循环
for i in range(5):
    print(i)

# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)

# 遍历字典
person = {"name": "小李", "age": 25}
for key, value in person.items():
    print(f"{key}: {value}")

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

6. 面向对象编程

类和对象

# 类定义
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def greet(self):
        return f"你好,我是{self.name}"
    
    def have_birthday(self):
        self.age += 1
        return f"{self.name}现在{self.age}岁了"

# 创建对象
person1 = Person("张三", 25)
person2 = Person("李四", 30)

# 调用方法
print(person1.greet())
print(person1.have_birthday())

继承

# 继承
class Student(Person):
    def __init__(self, name, age, student_id):
        super().__init__(name, age)
        self.student_id = student_id
    
    def study(self, subject):
        return f"{self.name}正在学习{subject}"

# 使用继承
student = Student("王五", 20, "S001")
print(student.greet())        # 继承自父类的方法
print(student.study("Python"))  # 子类自己的方法

7. 异常处理

# try-except 语句
try:
    result = 10 / 0
except ZeroDivisionError:
    print("除数不能为零")
except Exception as e:
    print(f"发生了错误:{e}")
else:
    print("没有发生错误")
finally:
    print("无论是否有错误都会执行")

# 自定义异常
class CustomError(Exception):
    pass

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

8. 文件操作

# 文件读写
# 写入文件
with open("example.txt", "w", encoding="utf-8") as file:
    file.write("Hello, Python!")

# 读取文件
with open("example.txt", "r", encoding="utf-8") as file:
    content = file.read()
    print(content)

# 逐行读取
with open("example.txt", "r", encoding="utf-8") as file:
    for line in file:
        print(line.strip())

9. 常用模块

# 导入模块
import os
import datetime
from math import sqrt, pi

# 使用模块
current_dir = os.getcwd()
now = datetime.datetime.now()
square_root = sqrt(16)

# 随机数
import random
random_number = random.randint(1, 10)
random_choice = random.choice(["苹果", "香蕉", "橙子"])

# JSON 处理
import json
data = {"name": "张三", "age": 25}
json_string = json.dumps(data, ensure_ascii=False)
parsed_data = json.loads(json_string)

10. 总结

Python 是一门简洁而强大的编程语言,适合初学者学习。掌握了这些基础知识后,你可以继续学习更高级的主题,如Web开发、数据分析、机器学习等。