#面向对象编程
class Student:
def __init__(self,name,grade): #self关键字类名本身
self.name = name
self.grade = grade
def introduce(self):
print("hi! I'm "+ self.name)
print("my grade is: "+ str(self.grade))
def improve(self,amount):
self.grade = self.grade + amount
Jim = Student("Jim",86)
Jim.introduce()
Jim.improve(10)
Jim.introduce()
#装饰器
"""
def add_candles(cake_func):
def insert_candles():
return cake_func( ) + " candles"
return insert_candles()
def make_cake( ):
return "cake"
gift_func= add_candles(make_cake)
print(make_cake())
print(gift_func)
"""
def add_candles(cake_func):
def insert_candles():
return cake_func( ) + " candles"
return insert_candles()
def make_cake( ):
return "cake"
make_cake= add_candles(make_cake)
print(make_cake)
#最终版 @add_candles 代替 make_cake= add_candles(make_cake)
def add_candles(cake_func):
def insert_candles():
return cake_func( ) + " candles"
return insert_candles()
#要装饰的函数名
@add_candles
def make_cake( ):
return "cake"
print(make_cake)