我们利用一个生活中的场景来进入装饰器的世界!
我们模拟银行存取款的过程,代码如下:
def deposit():
print('存款中...')
def withdraw():
print('取款中...')
key = 1
if key == 1:
deposit()
else:
withdraw()
好像还不完美,我们存取款的时候必需要输入密码的,于是成了下面的样子。
def deposit():
print('存款中...')
def withdraw():
print('取款中...')
def check_password():
print('密码验证中...')
key = 1
if key == 1:
check_password()
deposit()
else:
check_password()
withdraw()
这个样子好像也不成,在if...else中每次判断都需要加上密码的验证函数,当我们的代码很多的时候,那得加得多累啊。
还有一种将check_password()函数分别放在存取款函数中,在代码量增加的时候,还是和这个一样的效果。我们的目标是尽