python语法糖/装饰器

1、python高阶函数和嵌套函数

1.1高阶函数

1 def func1(x):
2     return x**2
3 def func2(x):
4     return x**3
5 def func(x,y):
6     return x(2)+y(2)

1.2嵌套函数

1 def func1():
2     print('this is func1')
3     def func2():
4         print('this is func2')
5     func2()

2.1 原始函数

1 def f(x):
2     return x**2
需求:想在不改变源代码的情况下添加打印功能。

2.2 装饰器

1 def fucn1(f):
2     def func2(x):
3         x=f(x)
4         print('%s is in f'%x)
5      return func2
6 def f(x):
7     return x**2        
8 f=func1(f)
9 f(2)
  Turn out:
  ...:4
  ...:4 is in f

 

 1 def func1(f):
 2     def func2(x):
 3         f(x)
 4         x=f(x)
 5         print('%s is in f'%x)
 6      return func2
 7 @func1
 8 def f(x):
 9     return x**2
10 f(2)
  Turn out:
  ...:4
  ...:4 is in f
 

 

posted @ 2019-04-02 14:44  竹心_兰君  阅读(330)  评论(0编辑  收藏  举报