25 分钟
Python 进阶

类与对象

理解面向对象编程,定义类和创建对象

  • 理解类和对象的概念
  • 定义类和 __init__ 构造方法
  • 创建实例并访问属性方法

什么是类和对象

类是蓝图,对象是按蓝图造出来的实物。就像「狗」是类,你家的旺财是对象。

示例代码(可运行)
ℹ️self 是什么

self 代表当前对象本身。调用 dog1.bark() 时,Python 自动把 dog1 作为 self 传入。__init__ 是构造方法,创建对象时自动调用。

属性和方法

示例代码(可运行)
预测输出
class Cat:
    def __init__(self, n):
        self.name = n
c = Cat("咪咪")
print(c.name)
找 Bug__init__ 第一个参数必须是 self。
class Person: def __init__(name): self.name = name
填空题填写空白处的代码
class Car: def __init__(self, brand): .brand = brand c = Car("比亚迪") print(c.brand)
选择题

创建对象时自动调用的方法?

选择题

实例方法的第一个参数 self 指的是?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

list 底层是一段连续的指针数组,容量不够时整体扩容(CPython 约按 1.125 倍)。因此按下标取元素是 O(1),末尾 append 均摊 O(1),但在头部 insert(0,…) 或 pop(0) 要搬动全部元素、是 O(n)。dict/set 基于哈希表,平均查找 O(1) 但更耗内存。选对数据结构,往往比抠语法更影响性能。

挑战任务

类与对象挑战

简单+50 XP

定义一个Circle类,有半径属性和计算面积的方法。

类与对象挑战
2 个测试用例

课后作业

银行账户

中等+20 XP

定义BankAccount类支持存款取款查询余额。

银行账户
1 个测试用例