DukeDuke
主页
文档转换
关于我们
主页
文档转换
关于我们
  • 什么是Python
  • Python简介
  • Python安装
  • Python基础语法
  • Python数据类型
  • Python数字
  • Python字符串
  • Python列表
  • Python元组
  • Python字典
  • Python日期时间
  • Python文件操作
  • Python异常处理
  • Python函数
  • Python类
  • Python模块
  • Python包
  • Python多线程
  • Python面向对象
  • Python爬虫
  • Django web框架

Python 类

1. 类的基本概念

类是面向对象编程的核心概念,它是一种用于创建对象的模板。类定义了对象的属性和方法。

1.1 类的定义

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

    def say_hello(self):
        print(f"你好,我是{self.name},今年{self.age}岁")

1.2 创建对象

# 创建Person类的实例
person1 = Person("张三", 25)
person1.say_hello()  # 输出:你好,我是张三,今年25岁

2. 类的特性

2.1 构造函数

  • __init__ 方法是类的构造函数
  • 在创建对象时自动调用
  • 用于初始化对象的属性

2.2 实例方法

  • 第一个参数必须是 self
  • 可以访问实例的属性和其他方法
  • 通过实例调用

2.3 类方法

class Student:
    count = 0  # 类变量

    @classmethod
    def get_count(cls):
        return cls.count

2.4 静态方法

class MathUtils:
    @staticmethod
    def add(x, y):
        return x + y

3. 继承

3.1 基本继承

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

    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        return f"{self.name}说:汪汪!"

3.2 多重继承

class A:
    def method_a(self):
        print("方法A")

class B:
    def method_b(self):
        print("方法B")

class C(A, B):
    pass

4. 封装

4.1 私有属性

class BankAccount:
    def __init__(self, balance):
        self.__balance = balance  # 私有属性

    def get_balance(self):
        return self.__balance

4.2 属性装饰器

class Person:
    def __init__(self, name):
        self._name = name

    @property
    def name(self):
        return self._name

    @name.setter
    def name(self, value):
        self._name = value

5. 特殊方法

5.1 常用特殊方法

class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __str__(self):
        return f"Vector({self.x}, {self.y})"

    def __add__(self, other):
        return Vector(self.x + other.x, self.y + other.y)

6. 最佳实践

  1. 遵循 PEP 8 命名规范
  2. 使用类型注解提高代码可读性
  3. 编写清晰的文档字符串
  4. 合理使用继承和组合
  5. 保持类的职责单一

7. 示例:完整的类实现

from typing import List, Optional

class Student:
    """
    学生类,用于管理学生信息
    """
    def __init__(self, name: str, age: int, scores: Optional[List[int]] = None):
        self.name = name
        self.age = age
        self.scores = scores or []

    def add_score(self, score: int) -> None:
        """添加一个分数"""
        self.scores.append(score)

    def get_average(self) -> float:
        """计算平均分"""
        if not self.scores:
            return 0.0
        return sum(self.scores) / len(self.scores)

    def __str__(self) -> str:
        return f"学生:{self.name},年龄:{self.age},平均分:{self.get_average():.2f}"
最近更新:: 2026/4/17 13:21
Contributors: Duke
Prev
Python函数
Next
Python模块