小白学 Python
课程GitHub
© 2026 小白学 Python · 基于 walter201230/Python 教程
课程目录GitHub
Python 环境加载中…
面向对象0 / 4
1234

面向对象

4 道练习题·预计 35 分钟·做对一题解锁下一段

教学 01 / 05· 已读

第六节:面向对象

编程语言中,一般有两种编程思维:面向过程和面向对象。

  • 面向过程:分析解决问题的步骤,一步一步往下执行(前面学的就是这个思路)
  • 面向对象:用「分类」的眼光看世界,把数据和行为打包成「对象」

Python 是一门面向对象的语言。如果你听过 Java 的「万事万物皆对象」,Python 也是这样。

两个核心概念

概念含义
类(class)一类事物的「模板」——定义这类事物有哪些属性、能做哪些事
对象(object)由类创建出来的「实例」

举个例子,Dog 是一个类(描述「狗」这种东西的属性和行为),小白 是一只具体的狗(Dog 类的一个对象)。

三大特性

特性简单说
封装把数据和操作打包到一起
继承子类自动获得父类的属性和方法
多态同一个方法,不同的类可以有不同的行为

如果你是初次接触面向对象,看到这里还有点蒙也没关系——下面通过例子逐步理解。

教学 02 / 05

一、类的定义和调用

1、怎么理解类?

类是什么?最直观的理解:类是变量和函数的集合。

┌─────────────────┐
│ 类               │
│  ┌───────────┐  │
│  │ 属性 1     │  │  ← 数据(变量)
│  │ 属性 2     │  │
│  └───────────┘  │
│        +        │
│  ┌───────────┐  │
│  │ 方法 1     │  │  ← 行为(函数)
│  │ 方法 2     │  │
│  └───────────┘  │
└─────────────────┘

我们把「同一性质」的数据和行为打包到一起,方便重复使用。

2、怎么定义类

python
class 类名:
    # 属性 + 方法
    pass

例子——定义一个 Person 类:

python
class Person:
    species = '人类'   # 类属性

    def greet(self):   # 方法
        print('你好')

💡 关于 self :方法的第一个参数永远是 self,代表「当前正在调用这个方法的对象」。调用时不用自己传,Python 会自动传进去。

3、创建对象(实例化)+ 调用方法

python
class Person:
    species = '人类'

    def greet(self):
        print('你好')

# 实例化(创建一个 Person 对象)
p = Person()

# 通过对象访问属性
print(p.species)

# 通过对象调用方法
p.greet()

输出:

人类
你好
练习 1 / 4·定义你的第一个类题目有问题?

请定义一个类 Animal,类里有一个方法 bark,方法体打印 '某种声音'。

然后:

  1. 实例化 Animal() 赋给 a
  2. 调用 a.bark()

输出应该是:

某种声音
main.py
可编辑
🔒做对当前题解锁下一段 ·0/4
本章目录

面向对象

  1. 教学 01第六节:面向对象
  2. 教学 02一、类的定义和调用
  3. 练习 1定义你的第一个类
  4. 教学 03二、初始化函数 `__init__`
  5. 练习 2 🔒用 __init__ 给对象传参
  6. 教学 04三、继承
  7. 练习 3 🔒继承:Student 继承 Person
  8. 教学 05四、多态
  9. 练习 4 🔒多态:重写父类方法
← 上一章07 · 迭代
面向对象
下一章 →09 · 模块