Python 是一种高级、解释型、面向对象的编程语言,以其简洁的语法和强大的功能著称。本文将带你从零开始学习 Python 的基础知识。
Python 概述
Python 由 Guido van Rossum 于 1991 年发布,如今已成为世界上最流行的编程语言之一。它被广泛应用于:
- Web 开发(Django、Flask)
- 数据科学和机器学习(NumPy、Pandas、TensorFlow)
- 自动化脚本
- 人工智能
- 爬虫开发
变量与数据类型
变量
在 Python 中,变量不需要声明类型,直接赋值即可:
1 2 3 4
| name = '张三' age = 25 height = 1.75 is_student = True
|
基本数据类型
- 整数 (int):如 1, 2, 3, -5
- 浮点数 (float):如 3.14, 2.5, -0.1
- 字符串 (str):如 'hello', "Python"
- 布尔值 (bool):True 或 False
- 空值 (None):表示不存在
字符串操作
1 2 3 4 5 6 7 8 9
| # 字符串拼接 greeting = 'Hello' + ' World'
# 格式化字符串 name = '李四' message = f'你好,{name}!'
# 字符串方法 print('hello'.upper())
|
列表和字典
列表
列表是有序的可变序列:
1 2 3 4 5 6 7 8
| fruits = ['apple', 'banana', 'orange']
# 访问元素 print(fruits[0]) print(fruits[-1])
# 添加元素 fruits.append('grape')
|
字典
字典是键值对的无序集合:
1 2 3 4 5
| person = { 'name': '张三', 'age': 25, 'city': '北京' }
|
控制流程
条件语句
1 2 3 4 5 6
| score = 85 if score >= 90: print('优秀') elif score >= 80: print('良好') else:
|
循环语句
1 2 3 4 5 6 7
| # for 循环 for i in range(1, 6): print(i)
# while 循环 count = 0 while count < 5:
|
函数
函数是可重用的代码块:
1 2 3 4 5 6 7 8
| def greet(name): """打招呼函数""" return f'你好,{name}!'
# 调用函数 message = greet('李四') print(message)
|
模块和包
Python 允许将代码组织成模块和包:
1 2 3 4 5
| import math print(math.pi)
from datetime import datetime print(datetime.now())
|
文件操作
使用 with 语句安全地读写文件:
1 2 3 4 5 6 7 8
| # 写入文件 with open('test.txt', 'w') as f: f.write('Hello, Python!')
# 读取文件 with open('test.txt', 'r') as f: content = f.read() print(content)
|
面向对象编程
Python 是面向对象的语言:
1 2 3 4 5 6 7 8 9 10 11 12
| class Person: def __init__(self, name, age): self.name = name self.age = age
def introduce(self): return f'我叫{self.name},今年{self.age}岁。'
# 创建对象 p = Person('张三', 25) print(p.introduce())
|
异常处理
使用 try-except 处理异常:
1 2 3 4 5 6 7
| try: result = 10 / 0 except ZeroDivisionError: print('不能除以零!') finally: print('程序执行完毕')
|
元组和集合
元组
元组是不可变的有序序列:
1 2 3 4
| t = ('apple', 'banana', 'orange') print(t[0])
|
集合
集合是无序的不重复元素集合:
1 2 3 4 5 6
| s = {1, 2, 3, 3, 2} print(s)
# 集合操作 s1 = {1, 2, 3} s2 = {3, 4, 5}
|
列表推导式
列表推导式提供了简洁的创建列表方式:
1 2 3 4 5 6 7
| # 创建1-10的平方列表 squares = [x**2 for x in range(1, 11)]) print(squares)
# 带条件的列表推导式 even_squares = [x**2 for x in range(1, 11) if x % 2 == 0] print(even_squares)
|
切片操作
切片用于获取序列的子序列:
1 2 3 4 5 6 7 8
| numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers[2:5]) print(numbers[:3]) print(numbers[7:]) print(numbers[::-1]) print(numbers[::2])
|
装饰器
装饰器用于增强函数功能:
1 2 3 4 5 6 7 8 9 10 11 12
| def timer(func): def wrapper(*args, **kwargs): import time start = time.time() result = func(*args, **kwargs) end = time.time() print(f'{func.__name__} 耗时: {end-start:.4f}秒') return result return wrapper
@timer def slow_function():
|
生成器
生成器用于创建惰性迭代器:
1 2 3 4 5 6 7 8
| def fibonacci_generator(n): a, b = 0, 1 for _ in range(n): yield a a, b = b, a + b
for num in fibonacci_generator(10): print(num)
|
迭代器
迭代器实现 __iter__ 和 __next__ 方法:
1 2 3 4 5 6 7 8 9 10
| class Counter: def __init__(self, max_num): self.max_num = max_num self.current = 0
def __iter__(self): return self
def __next__(self): if self.current < self.max_num:
|
总结
本文介绍了 Python 的基础知识,包括:
- 变量和数据类型
- 字符串操作
- 列表、字典、元组和集合
- 控制流程
- 函数
- 列表推导式和切片
- 装饰器和生成器
- 模块和包
- 文件操作
- 面向对象编程
- 异常处理
掌握这些基础知识后,你就可以开始编写简单的 Python 程序了。建议多动手实践,通过练习加深理解。