4 道练习题·预计 35 分钟·做对一题解锁下一段
编程语言中,一般有两种编程思维:面向过程和面向对象。
Python 是一门面向对象的语言。如果你听过 Java 的「万事万物皆对象」,Python 也是这样。
| 概念 | 含义 |
|---|---|
| 类(class) | 一类事物的「模板」——定义这类事物有哪些属性、能做哪些事 |
| 对象(object) | 由类创建出来的「实例」 |
举个例子,Dog 是一个类(描述「狗」这种东西的属性和行为),小白 是一只具体的狗(Dog 类的一个对象)。
| 特性 | 简单说 |
|---|---|
| 封装 | 把数据和操作打包到一起 |
| 继承 | 子类自动获得父类的属性和方法 |
| 多态 | 同一个方法,不同的类可以有不同的行为 |
如果你是初次接触面向对象,看到这里还有点蒙也没关系——下面通过例子逐步理解。
类是什么?最直观的理解:类是变量和函数的集合。
┌─────────────────┐
│ 类 │
│ ┌───────────┐ │
│ │ 属性 1 │ │ ← 数据(变量)
│ │ 属性 2 │ │
│ └───────────┘ │
│ + │
│ ┌───────────┐ │
│ │ 方法 1 │ │ ← 行为(函数)
│ │ 方法 2 │ │
│ └───────────┘ │
└─────────────────┘
我们把「同一性质」的数据和行为打包到一起,方便重复使用。
class 类名:
# 属性 + 方法
pass例子——定义一个 Person 类:
class Person:
species = '人类' # 类属性
def greet(self): # 方法
print('你好')💡 关于
self:方法的第一个参数永远是self,代表「当前正在调用这个方法的对象」。调用时不用自己传,Python 会自动传进去。
class Person:
species = '人类'
def greet(self):
print('你好')
# 实例化(创建一个 Person 对象)
p = Person()
# 通过对象访问属性
print(p.species)
# 通过对象调用方法
p.greet()输出:
人类
你好
请定义一个类 Animal,类里有一个方法 bark,方法体打印 '某种声音'。
然后:
Animal() 赋给 aa.bark()输出应该是:
某种声音