⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Python 面向对象编程

学习 class/__init__/self/继承 · 难度:进阶 · +15XP

Python 面向对象编程

Python 面向对象编程 — 从类到实例

学习前的准备

你需要 Python 3 环境。本教程面向已经理解 Python 函数和列表的初学者。面向对象编程(OOP)是一种组织代码的思维方式——它将数据和操作数据的方法打包在一起。

定义你的第一个类

class Car:
    def __init__(self, brand, model):
        self.brand = brand
        self.model = model
        self.speed = 0
    
    def accelerate(self, amount):
        self.speed += amount
        print(f"{self.brand} {self.model} 加速到 {self.speed} km/h")
    
    def brake(self):
        self.speed = 0
        print("停车了")

my_car = Car("丰田", "卡罗拉") your_car = Car("本田", "思域") my_car.accelerate(50) # 丰田 卡罗拉 加速到 50 km/h your_car.accelerate(30) # 本田 思域 加速到 30 km/h

理解 self 参数

self 代表“当前这个实例本身”。当你调用 my_car.accelerate(50) 时,Python 实际调用的是 Car.accelerate(my_car, 50)

class Student:
    def __init__(self, name, grade):
        self.name = name
        self.grade = grade
    def promote(self):
        self.grade += 1
        print(f"{self.name} 升到了 {self.grade} 年级")

s1 = Student("小明", 3) s2 = Student("小红", 5) s1.promote() # 小明 升到了 4 年级

继承——复用代码的利器

class Animal:
    def __init__(self, name):
        self.name = name
    def speak(self):
        print(f"{self.name} 发出声音")

class Cat(Animal): def speak(self): # 重写父类方法 print(f"{self.name} 喵喵叫") def purr(self): # 新增方法 print(f"{self.name} 发出咕噜声")

cat = Cat("咪咪") cat.speak() # 咪咪 喵喵叫

小结

类是蓝图,实例是具体的对象。__init__ 是构造函数,self 代表当前实例自己。类属性所有实例共享,实例属性各自独立。继承让子类复用父类的代码,重写让子类改变父类的行为。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 152 篇
0 完成
🔥 0