跳转至

python 基础教程

Python 是一种非常流行的编程语言,因其简单易学、功能强大而被广泛使用。以下是一个详细的 Python 教程,涵盖了基础语法、数据类型、控制结构、函数、类与对象、模块与包、文件操作等内容。

1. Python 简介

Python 是一种解释型、面向对象、动态数据类型的高级编程语言。它具有丰富的标准库,广泛应用于 Web 开发、数据分析、人工智能、科学计算、自动化脚本等领域。

2. 安装 Python

你可以从 Python 官方网站 下载最新版本的 Python。安装完成后,你可以通过命令行输入 pythonpython3 来启动 Python 解释器。

3. Python 基础语法

3.1 注释

Python 使用 # 来表示单行注释,多行注释可以使用三引号 '''"""

# 这是一个单行注释

"""
这是一个
多行注释
"""

3.2 变量

Python 变量是动态类型的,可以随时改变其值和类型。变量不需要声明类型,直接赋值即可。

x = 10        # 整数
y = 3.14      # 浮点数
name = "Alice" # 字符串
is_active = True  # 布尔值

3.3 数据类型

Python 常见的数据类型包括:整数 (int)、浮点数 (float)、字符串 (str)、布尔值 (bool)、列表 (list)、元组 (tuple)、字典 (dict)、集合 (set) 等。

# 整数和浮点数
a = 5
b = 2.5

# 字符串
s = "Hello, Python"

# 列表
lst = [1, 2, 3, "a", "b", "c"]

# 元组
tup = (1, 2, 3, "a", "b", "c")

# 字典
d = {"name": "Alice", "age": 25}

# 集合
st = {1, 2, 3, 4, 5}

4. 控制结构

4.1 条件语句

Python 使用 ifelifelse 进行条件判断。

x = 10

if x > 0:
    print("x 是正数")
elif x == 0:
    print("x 是零")
else:
    print("x 是负数")

4.2 循环

Python 提供 whilefor 两种循环结构。

  • while 循环:
i = 0
while i < 5:
    print(i)
    i += 1
  • for 循环:
for i in range(5):
    print(i)

4.3 循环控制

你可以使用 break 来提前退出循环,使用 continue 来跳过本次循环。

for i in range(10):
    if i == 5:
        break  # 提前退出循环
    if i % 2 == 0:
        continue  # 跳过本次循环
    print(i)

5. 函数

函数是代码重用的重要工具。Python 使用 def 关键字定义函数。

def greet(name):
    return f"Hello, {name}!"

# 调用函数
print(greet("Alice"))

函数可以有默认参数,也可以传递任意数量的参数。

def add(a, b=10):
    return a + b

print(add(5))        # 输出 15
print(add(5, 20))    # 输出 25

5.1 匿名函数

Python 还支持使用 lambda 定义匿名函数。

square = lambda x: x * x
print(square(5))  # 输出 25

6. 类与对象

Python 是一门面向对象编程语言,可以使用 class 关键字定义类。

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        return f"{self.name} is barking!"

# 创建对象
my_dog = Dog("Buddy", 3)
print(my_dog.bark())  # 输出 Buddy is barking!

6.1 继承

Python 支持类的继承,子类可以继承父类的属性和方法,并可以重写方法。

class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        return "Animal sound"

class Cat(Animal):
    def speak(self):
        return "Meow"

my_cat = Cat("Whiskers")
print(my_cat.speak())  # 输出 Meow

7. 模块与包

7.1 模块

Python 文件(.py)就是一个模块,可以导入使用。

# example.py
def hello():
    return "Hello from module!"

# main.py
import example
print(example.hello())  # 输出 Hello from module!

7.2

包是包含模块的文件夹,通常包含一个 __init__.py 文件,用于初始化包。

# mypackage/__init__.py
# 包初始化代码

# 使用包中的模块
import mypackage.module

8. 文件操作

Python 提供了一套简单的文件操作接口,可以进行文件读写操作。

# 写入文件
with open("example.txt", "w") as f:
    f.write("Hello, Python!")

# 读取文件
with open("example.txt", "r") as f:
    content = f.read()
    print(content)  # 输出 Hello, Python!

9. 异常处理

Python 使用 tryexcept 处理异常。

try:
    x = 10 / 0
except ZeroDivisionError as e:
    print("除以零错误:", e)
finally:
    print("这是 finally 语句块,无论是否出现异常都会执行")

10. Python 标准库

Python 标准库提供了大量的模块,涵盖文件操作、正则表达式、系统调用、网络编程、进程和线程管理等多种功能。例如:

  • os 模块:处理文件和目录
  • sys 模块:访问系统特定参数和功能
  • math 模块:提供数学运算函数
  • datetime 模块:处理日期和时间
  • re 模块:处理正则表达式
import os

# 获取当前工作目录
print(os.getcwd())

import math

# 计算平方根
print(math.sqrt(16))

11. 虚拟环境

Python 的虚拟环境是一个独立的 Python 运行环境,可以为不同的项目隔离不同的包依赖。使用 venv 模块可以创建虚拟环境。

python -m venv myenv

激活虚拟环境(Windows):

myenv\Scripts\activate

激活虚拟环境(Linux/MacOS):

source myenv/bin/activate

在虚拟环境中,你可以安装包,并且不会影响全局 Python 环境:

pip install requests

12. 面向对象编程进阶

除了基础的面向对象编程(OOP),Python 还支持更高级的 OOP 特性,如装饰器、元类、抽象类、多重继承、类方法、静态方法等。

class MyClass:
    @staticmethod
    def static_method():
        print("This is a static method")

    @classmethod
    def class_method(cls):
        print("This is a class method")

# 调用静态方法和类方法
MyClass.static_method()
MyClass.class_method()

13. Python 进阶

Python 还支持许多进阶特性,例如生成器、迭代器、装饰器、上下文管理器等。

# 生成器
def my_generator():
    yield 1
    yield 2
    yield 3

gen = my_generator()
print(next(gen))  # 输出 1
print(next(gen))  # 输出 2
print(next(gen))  # 输出 3

14. 常用的第三方库

Python 生态系统中有大量第三方库,极大地扩展了 Python 的功能。例如:

  • NumPy:用于科学计算的库
  • Pandas:数据分析和处理的库
  • Matplotlib:数据可视化库
  • Flask/Django:Web 开发框架
  • FastAPI: 异步Web开发框架
  • Requests:HTTP 库,简化了网络请求
  • Celery: 分布式任务队列

BeautifulSoup**:HTML/XML 解析库

import requests

response = requests.get("https://www.python.org")
print(response.status_code)

15. 项目管理与部署

在完成 Python 项目后,你可以使用 pip 管理依赖,使用 setup.py 定义包,使用 PyPI 发布包,使用 Docker 或者 Heroku 进行部署。

pip freeze > requirements.txt  # 导出依赖

16. 学习资源

学习 Python 是一个持续的过程,建议通过做项目、阅读源码、参与开源社区来不断提升你的 Python 技能。