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开发、数据分析、机器学习等。