恭喜你

Python 面向对象编程入门

George Boorman

Curriculum Manager, DataCamp

类与对象

术语 定义
构建对象的蓝图/模板
对象 由_数据_和_功能_组成;类的实例
Python 面向对象编程入门

属性与方法

术语 定义
构建对象的蓝图/模板
对象 由_数据_和_功能_组成;类的实例
状态 与对象关联的_数据_,通过属性赋值
行为 对象的_功能_,由方法定义
Python 面向对象编程入门

核心概念

封装

  • 将数据与方法打包

继承

  • 扩展现有代码的功能

多态

  • 提供统一接口
Python 面向对象编程入门

比较

运算符 方法
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Python 面向对象编程入门

字符串表示

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • 非正式,面向终端用户
  • string 表示

__repr__()

  • repr(obj),控制台打印
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • 正式,面向开发者
  • _复现__表示_
  • print() 的后备
Python 面向对象编程入门

错误处理

class BalanceError(Exception): 
    pass

class Customer: def __init__(self, name, balance): if balance < 0 : raise BalanceError("Balance has to be non-negative!") else: self.name, self.balance = name, balance
# Use try-except to catch errors try: cust = Customer("Larry Torres", -100) except BalanceError: cust = Customer("Larry Torres", 0)
Python 面向对象编程入门

下一步?

  • 多重继承
  • 描述符
  • 自定义属性
  • 自定义迭代器
  • 类型提示
  • 抽象基类
Python 面向对象编程入门

Ayo berlatih!

Python 面向对象编程入门

Preparing Video For Download...