2025年Python基础知识点大全,大学生、编程初学者必看!!

1. Python 基础语法与概念

1.1 变量与数据类型
  • 变量命名规则和最佳实践

  • 基本数据类型:

    • 数值类型 (int, float, complex)

    • 字符串 (str)

    • 布尔值 (bool)

  • 类型转换和检查

  • Python 的动态类型特性

完整学习资料在文末!

完整学习资料在文末!

# 数值类型示例
age = 25          # 整数
price = 19.99     # 浮点数
complex_num = 3 + 4j  # 复数

# 字符串示例
name = "Python 学习者"
message = '''这是一个
多行字符串示例'''

# 布尔值示例
is_student = True
is_working = False

# 类型检查和转换
print(type(age))       # <class 'int'>
str_num = "100"
num = int(str_num)     # 字符串转整数
1.2 运算符
  • 算术运算符 (+, -, *, /, //, %, **)

  • 比较运算符 (==, !=, >, <, >=, <=)

  • 逻辑运算符 (and, or, not)

  • 赋值运算符 (=, +=, -=等)

  • 位运算符 (&, |,^, >>, <<)

# 算术运算符示例
a = 10
b = 3

print(a + b)    # 13  (加法)
print(a - b)    # 7   (减法)
print(a * b)    # 30  (乘法)
print(a / b)    # 3.3333... (除法)
print(a // b)   # 3   (整除)
print(a % b)    # 1   (取余)
print(a ** b)   # 1000(幂运算)

# 比较和逻辑运算符
x = 5
y = 10
print(x < y and y < 15)  # True
print(x > y or y < 15)   # True
1.3 条件语句
  • if 语句的基本结构

  • elif 和 else 的使用

  • 嵌套条件语句

  • 三元运算符

  • match-case 语句 (Python 3.10+)

# if-elif-else 示例
score = 85

if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

# 三元运算符
age = 20
status = "成年" if age >= 18 else "未成年"

# match-case 示例 (Python 3.10+)
def check_status(status_code):
    match status_code:
        case 200:
            return "成功"
        case 404:
            return "未找到"
        case _:
            return "未知状态"
1.4 循环结构
  • for 循环

    • range() 函数的使用

    • 遍历序列和集合

    • enumerate() 的应用

  • while 循环

    • 循环条件设计

    • break 和 continue

    • else 子句

  • 循环嵌套和控制

# for 循环示例
for i in range(5):
    print(i)  # 打印 0 到 4

fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)

# enumerate 示例
for index, fruit in enumerate(fruits):
    print(f"第{index+1}个水果是:{fruit}")

# while 循环示例
count = 0
while count < 5:
    print(count)
    count += 1
    if count == 3:
        continue  # 跳过本次循环
    if count == 4:
        break    # 结束循环

2. 函数与模块

2.1 函数基础
  • 函数定义与调用

  • 参数类型:

    • 位置参数

    • 关键字参数

    • 默认参数

    • 可变参数 (*args, **kwargs)

  • 返回值处理

  • 函数文档字符串

# 基本函数定义
def greet(name, greeting="你好"):
    """
    向指定的人打招呼
    
    参数:
        name (str): 人名
        greeting (str): 问候语,默认为"你好"
    返回:
        str: 完整的问候语
    """
    return f"{greeting}, {name}!"

# 函数调用
print(greet("小明"))           # 你好,小明!
print(greet("小红", "早安"))    # 早安,小红!

# 可变参数示例
def sum_numbers(*args):
    return sum(args)

print(sum_numbers(1, 2, 3, 4))  # 10

# 关键字参数示例
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="张三", age=20, city="北京")
2.2 模块使用
  • 模块导入方式

  • 包的概念和结构

  • 常用内置模块使用示例

# 常用模块示例
import math
import random
import datetime
import os

# math 模块
print(math.pi)                 # 圆周率
print(math.sqrt(16))          # 平方根

# random 模块
print(random.randint(1, 10))  # 随机整数
print(random.choice(['苹果', '香蕉', '橙子']))  # 随机选择

# datetime 模块
now = datetime.datetime.now()
print(f"当前时间:{now}")
print(f"明天:{now + datetime.timedelta(days=1)}")

# os 模块
print(os.getcwd())            # 当前工作目录
print(os.listdir())           # 目录内容列表

3. 数据处理基础

3.1 数据结构
  • 列表 (List)

  • 元组 (Tuple)

  • 集合 (Set)

  • 字典 (Dict)

# 列表示例
fruits = ["苹果", "香蕉", "橙子"]
fruits.append("葡萄")         # 添加元素
fruits.insert(1, "梨")       # 插入元素
fruits.remove("香蕉")        # 删除元素
print(fruits[1:3])          # 切片操作

# 元组示例
point = (3, 4)
x, y = point                # 元组解包

# 集合示例
numbers = {1, 2, 3, 4, 5}
more_numbers = {4, 5, 6, 7, 8}
print(numbers & more_numbers)  # 交集
print(numbers | more_numbers)  # 并集

# 字典示例
student = {
    "name": "张三",
    "age": 20,
    "scores": {
        "数学": 90,
        "英语": 85
    }
}
print(student.get("grade", "未知"))  # 安全获取值
3.2 字符串操作
  • 字符串方法

  • 格式化方式

  • 正则表达式

# 字符串方法示例
text = "  Python 编程  "
print(text.strip())          # 去除空白
print(text.upper())          # 转大写
print(text.lower())          # 转小写

# 字符串格式化
name = "小明"
age = 20
# f-string
print(f"{name}今年{age}岁")
# format 方法
print("{}今年{}岁".format(name, age))
# %-格式化
print("%s今年%d岁" % (name, age))

# 正则表达式
import re
text = "我的电话是 123-4567-8900"
phone = re.search(r"\d{3}-\d{4}-\d{4}", text)
if phone:
    print(f"找到电话号码:{phone.group()}")
3.3 文件操作
  • 文件读写

  • JSON 处理

  • CSV 处理

# 文件读写示例
with open("example.txt", "w", encoding="utf-8") as f:
    f.write("这是一个示例文件\n")
    f.write("包含多行文本")

with open("example.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

# JSON 处理
import json

data = {
    "name": "Python 教程",
    "version": "2025",
    "topics": ["基础", "进阶", "实战"]
}

# 写入 JSON
with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=2)

# 读取 JSON
with open("data.json", "r", encoding="utf-8") as f:
    loaded_data = json.load(f)

4. 错误处理

  • 异常处理机制

  • 自定义异常

# 异常处理示例
def divide(a, b):
    try:
        result = a / b
    except ZeroDivisionError:
        print("错误:除数不能为 0")
        return None
    except TypeError:
        print("错误:参数类型必须是数字")
        return None
    else:
        return result
    finally:
        print("计算完成")

# 自定义异常
class ValidationError(Exception):
    def __init__(self, message):
        self.message = message
        super().__init__(self.message)

def validate_age(age):
    if not isinstance(age, int):
        raise ValidationError("年龄必须是整数")
    if age < 0 or age > 150:
        raise ValidationError("年龄必须在 0-150 之间")
    return True

# 异常处理示例
try:
    validate_age("20")
except ValidationError as e:
    print(f"验证失败:{e.message}")

5. 面向对象编程 (OOP)

5.1 类和对象
  • 类的定义和实例化

  • 属性和方法

  • 构造函数和析构函数

  • 访问修饰符

  • 属性装饰器 (@property)

class Student:
    # 类变量
    school = "Python 大学"
    
    def __init__(self, name: str, age: int):
        # 实例变量
        self.name = name        # 公有属性
        self._age = age         # 受保护属性
        self.__score = 0        # 私有属性
        
    def __del__(self):
        print(f"{self.name}对象被销毁")
    
    # 实例方法
    def study(self, course: str) -> None:
        print(f"{self.name}正在学习{course}")
    
    # 属性装饰器 - getter
    @property
    def score(self) -> int:
        return self.__score
    
    # 属性装饰器 - setter
    @score.setter
    def score(self, value: int) -> None:
        if not isinstance(value, int):
            raise TypeError("分数必须是整数")
        if 0 <= value <= 100:
            self.__score = value
        else:
            raise ValueError("分数必须在 0-100 之间")
    
    # 类方法
    @classmethod
    def get_school(cls) -> str:
        return cls.school
    
    # 静态方法
    @staticmethod
    def is_adult(age: int) -> bool:
        return age >= 18

# 使用示例
if __name__ == "__main__":
    # 创建实例
    student = Student("张三", 20)
    
    # 访问公有属性和方法
    print(student.name)         # 张三
    student.study("Python")     # 张三正在学习 Python
    
    # 使用属性装饰器
    student.score = 95          # 设置分数
    print(student.score)        # 95
    
    # 使用类方法和静态方法
    print(Student.get_school()) # Python 大学
    print(Student.is_adult(20)) # True
5.2 继承与多态
  • 单继承和多继承

  • 方法重写

  • super() 函数

  • 抽象类和接口

  • 混入类 (Mixins)

from abc import ABC, abstractmethod
from typing import List

# 抽象基类
class Animal(ABC):
    def __init__(self, name: str):
        self.name = name
    
    @abstractmethod
    def make_sound(self) -> str:
        pass
    
    def introduce(self) -> str:
        return f"我是{self.name}, {self.make_sound()}"

# Mixin 类
class FlyableMixin:
    def fly(self) -> str:
        return "我可以飞行"

class SwimmableMixin:
    def swim(self) -> str:
        return "我可以游泳"

# 具体类 - 单继承
class Dog(Animal):
    def make_sound(self) -> str:
        return "汪汪汪!"
    
    def fetch_ball(self) -> str:
        return "我可以接球"

# 具体类 - 多继承
class Duck(Animal, FlyableMixin, SwimmableMixin):
    def make_sound(self) -> str:
        return "嘎嘎嘎!"

# 使用示例
def animal_chorus(animals: List[Animal]) -> None:
    """演示多态性"""
    for animal in animals:
        print(animal.introduce())

if __name__ == "__main__":
    dog = Dog("旺财")
    duck = Duck("唐老鸭")
    
    # 测试继承和多态
    animal_chorus([dog, duck])
    
    # 测试多继承
    print(duck.fly())      # 我可以飞行
    print(duck.swim())     # 我可以游泳
    
    # 测试方法重写
    print(dog.make_sound())    # 汪汪汪!
    print(duck.make_sound())   # 嘎嘎嘎!
5.3 特殊方法
  • str__和__repr

  • len__和__getitem

  • call

  • 运算符重载

  • 上下文管理器协议

class Vector:
    def __init__(self, x: float, y: float):
        self.x = x
        self.y = y
    
    # 字符串表示
    def __str__(self) -> str:
        return f"Vector({self.x}, {self.y})"
    
    def __repr__(self) -> str:
        return f"Vector(x={self.x}, y={self.y})"
    
    # 运算符重载
    def __add__(self, other: 'Vector') -> 'Vector':
        return Vector(self.x + other.x, self.y + other.y)
    
    def __sub__(self, other: 'Vector') -> 'Vector':
        return Vector(self.x - other.x, self.y - other.y)
    
    def __mul__(self, scalar: float) -> 'Vector':
        return Vector(self.x * scalar, self.y * scalar)
    
    # 可调用对象
    def __call__(self) -> float:
        return (self.x ** 2 + self.y ** 2) ** 0.5  # 返回向量长度

class MathList:
    def __init__(self, data: List[int]):
        self.data = data
    
    # 长度
    def __len__(self) -> int:
        return len(self.data)
    
    # 索引访问
    def __getitem__(self, index: int) -> int:
        return self.data[index]
    
    # 切片支持
    def __setitem__(self, index: int, value: int) -> None:
        self.data[index] = value

class FileManager:
    def __init__(self, filename: str):
        self.filename = filename
    
    # 上下文管理器协议
    def __enter__(self):
        print(f"打开文件:{self.filename}")
        self.file = open(self.filename, 'w', encoding='utf-8')
        return self.file
    
    def __exit__(self, exc_type, exc_val, exc_tb):
        print(f"关闭文件:{self.filename}")
        if self.file:
            self.file.close()
        return False  # 返回 False 则异常会继续传播

# 使用示例
if __name__ == "__main__":
    # 测试 Vector 类
    v1 = Vector(1, 2)
    v2 = Vector(3, 4)
    
    print(str(v1))             # Vector(1, 2)
    print(repr(v2))            # Vector(x=3, y=4)
    
    v3 = v1 + v2              # 运算符重载
    print(v3)                 # Vector(4, 6)
    
    length = v1()             # 调用对象
    print(f"向量长度:{length}")  # 向量长度:2.236...
    
    # 测试 MathList 类
    numbers = MathList([1, 2, 3, 4, 5])
    print(len(numbers))       # 5
    print(numbers[2])         # 3
    numbers[2] = 10
    print(numbers[2])         # 10
    
    # 测试文件管理器
    try:
        with FileManager('test.txt') as f:
            f.write('测试上下文管理器')
            raise Exception("测试异常")
    except Exception as e:
        print(f"捕获到异常:{e}")

最后,我精心筹备了一份全面的Python学习大礼包,完全免费分享给每一位渴望成长、希望突破自我现状却略感迷茫的朋友。无论您是编程新手还是希望深化技能的开发者,都欢迎加入我们的学习之旅,共同交流进步!

🌟 学习大礼包包含内容:

Python全领域学习路线图:一目了然,指引您从基础到进阶,再到专业领域的每一步学习路径,明确各方向的核心知识点。

超百节Python精品视频课程:涵盖Python编程的必备基础知识、高效爬虫技术、以及深入的数据分析技能,让您技能全面升级。

实战案例集锦:精选超过100个实战项目案例,从理论到实践,让您在解决实际问题的过程中,深化理解,提升编程能力。

华为独家Python漫画教程:创新学习方式,以轻松幽默的漫画形式,让您随时随地,利用碎片时间也能高效学习Python。

互联网企业Python面试真题集:精选历年知名互联网企业面试真题,助您提前备战,面试准备更充分,职场晋升更顺利。

👉 立即领取方式:只需【点击这里】,即刻解锁您的Python学习新篇章!让我们携手并进,在编程的海洋里探索无限可能   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值