python面向对象与装饰

例1、面向对象 Object - Oriented

  1 class Student:
  2         def __init__(self, name, grade):
  3                 self.name = name
  4                 self.grade = grade
  5 
  6         def introduce(self):
  7                 print("Hi! I'm " + self.name)
  8                 print("my grade is: " + str(self.grade))
  9 
 10         def improve(self, amount):
 11                 self.grade += amount
 12 
 13 Tom = Student("Tom", 80)
 14 Tom.introduce()
 15 
 16 Tom.improve(10)
 17 Tom.introduce()

例2、装饰 Decorators

make_cake = add_candles(make_cake)

  1 def add_candles(cake_func):
  2         def insert_candles():
  3                 return cake_func() + "candles"
  4         return insert_candles
  5         
  6 def make_cake():
  7         return "cake "
  8         
  9 make_cake = add_candles(make_cake)
 10 
 11 print(make_cake())
例3、等价于例2

@add_candles

  1 def add_candles(cake_func):
  2         def insert_candles():
  3                 return cake_func() + "candles"
  4         return insert_candles
  5 
  6 @add_candles
  7 def make_cake():
  8         return "cake "
  9 
 10 print(make_cake())



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值