55
66``` Python
77def punch ():
8- print (' 昵称:水哥 部门:做鸭事业部 上班打卡成功' )
8+ print (' 昵称:两点水 部门:做鸭事业部 上班打卡成功' )
99
1010
1111punch()
@@ -14,7 +14,7 @@ punch()
1414输出的结果如下:
1515
1616```
17- 昵称:水哥 部门:做鸭事业部 上班打卡成功
17+ 昵称:两点水 部门:做鸭事业部 上班打卡成功
1818```
1919
2020然后,产品反馈,不行啊,怎么上班打卡没有具体的日期,加上打卡的具体日期吧,这应该很简单,分分钟解决啦。好吧,那就直接添加打印日期的代码吧,如下:
@@ -25,7 +25,7 @@ import time
2525
2626def punch ():
2727 print (time.strftime(' %Y-%m-%d ' , time.localtime(time.time())))
28- print (' 昵称:水哥 部门:做鸭事业部 上班打卡成功' )
28+ print (' 昵称:两点水 部门:做鸭事业部 上班打卡成功' )
2929
3030
3131punch()
@@ -35,7 +35,7 @@ punch()
3535
3636```
37372018-01-09
38- 昵称:水哥 部门:做鸭事业部 上班打卡成功
38+ 昵称:两点水 部门:做鸭事业部 上班打卡成功
3939```
4040
4141这样改是可以,可是这样改是改变了函数的功能结构的,本身这个函数定义的时候就是打印某个员工的信息和提示打卡成功,现在增加打印日期的代码,可能会造成很多代码重复的问题。比如,还有一个地方只需要打印员工信息和打卡成功就行了,不需要日期,那么你又要重写一个函数吗?而且打印当前日期的这个功能方法是经常使用的,是可以作为公共函数给各个模块方法调用的。当然,这都是作为一个整体项目来考虑的。
@@ -47,7 +47,7 @@ import time
4747
4848
4949def punch ():
50- print (' 昵称:水哥 部门:做鸭事业部 上班打卡成功' )
50+ print (' 昵称:两点水 部门:做鸭事业部 上班打卡成功' )
5151
5252
5353def add_time (func ):
@@ -62,7 +62,7 @@ add_time(punch)
6262
6363```
64642018-01-09
65- 昵称:水哥 部门:做鸭事业部 上班打卡成功
65+ 昵称:两点水 部门:做鸭事业部 上班打卡成功
6666```
6767
6868
@@ -73,7 +73,7 @@ import time
7373
7474
7575def punch ():
76- print (' 昵称:水哥 部门:做鸭事业部 上班打卡成功' )
76+ print (' 昵称:两点水 部门:做鸭事业部 上班打卡成功' )
7777
7878
7979def add_time (func ):
@@ -94,7 +94,7 @@ add_time(holiday)
9494
9595```
96962018-01-09
97- 昵称:水哥 部门:做鸭事业部 上班打卡成功
97+ 昵称:两点水 部门:做鸭事业部 上班打卡成功
98982018-01-09
9999天气太冷,今天放假
100100```
@@ -114,7 +114,7 @@ def decorator(func):
114114
115115
116116def punch ():
117- print (' 昵称:水哥 部门:做鸭事业部 上班打卡成功' )
117+ print (' 昵称:两点水 部门:做鸭事业部 上班打卡成功' )
118118
119119
120120f = decorator(punch)
125125
126126```
1271272018-01-09
128- 昵称:水哥 部门:做鸭事业部 上班打卡成功
128+ 昵称:两点水 部门:做鸭事业部 上班打卡成功
129129```
130130
131131通过代码,能知道装饰器函数一般做这三件事:
@@ -154,7 +154,7 @@ def decorator(func):
154154
155155@decorator
156156def punch ():
157- print (' 昵称:水哥 部门:做鸭事业部 上班打卡成功' )
157+ print (' 昵称:两点水 部门:做鸭事业部 上班打卡成功' )
158158
159159punch()
160160```
@@ -163,7 +163,7 @@ punch()
163163
164164```
1651652018-01-09
166- 昵称:水哥 部门:做鸭事业部 上班打卡成功
166+ 昵称:两点水 部门:做鸭事业部 上班打卡成功
167167```
168168
169169那么这就很方便了,方便在我们的调用上,比如例子中的,使用了装饰器后,直接在原本的函数上加上装饰器的语法糖就可以了,本函数也无虚任何改变,调用的地方也不需修改。
@@ -195,17 +195,17 @@ def print_args(reason, **kwargs):
195195 print (kwargs)
196196
197197
198- punch(' 水哥 ' , ' 做鸭事业部' )
199- print_args(' 水哥 ' , sex = ' 男' , age = 99 )
198+ punch(' 两点水 ' , ' 做鸭事业部' )
199+ print_args(' 两点水 ' , sex = ' 男' , age = 99 )
200200```
201201
202202输出结果如下:
203203
204204```
2052052018-01-09
206- 昵称:水哥 部门:做鸭事业部 上班打卡成功
206+ 昵称:两点水 部门:做鸭事业部 上班打卡成功
2072072018-01-09
208- 水哥
208+ 两点水
209209{'sex': '男', 'age': 99}
210210```
211211
0 commit comments