一、函数修饰符

  '@' 用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰,

  出现在函数定义的前一行,不允许和函数定义在同一行

  一个修饰符就是一个函数,它将被修饰的函数作为参数,并返回修饰后的同名函数或其他可调用的东西?

  示例:  

 def square_sum(fn):
def square(*args):
print "1---", args
n = args[0]
# return n*(n-1)*(2*n-1)/6
print "2==", n*(n-1)*(2*n-1)/6
print fn.__name__
fn(n*(n-1)*(2*n-1)/6)
print "*"*15
return fn(n*(n-1)*(2*n-1)/6)
return square @square_sum
def sum_a(a):
print "3=", a sum_a(10)

结果

1--- (10,)
2== 285
sum_a
3= 285
***************
3= 285

  可以看出,他是先执行修饰器函数,然后有return fn的时候,修饰器下的函数才是生效的,否则函数sum_a 是没有结果的。

--------2016-7-19 17:21:15--

  source:【1】python中的@ 符号

最新文章

  1. Web报表工具FineReport填报界面键盘操作
  2. <<测试驱动开发的艺术>>读书笔记
  3. fstream使用简介
  4. Git的配置及常用命令
  5. [Everyday Mathematics]20150220
  6. tableview 重用nib cell
  7. Ubuntu下全命令行安装Android SDK
  8. jquery实现仿select列表的即时搜索及拼音搜索
  9. IOS开发-表视图LV3导航控制器
  10. 为什么 1000 == 1000会返回false,100 == 100会返回true
  11. (luogu P4012)深海机器人问题 [TPLY]
  12. OPC转发阿里云alink工具
  13. hdoj:2056
  14. php面向对象的接口和APP接口区别
  15. php配置虚拟主机
  16. [cnbeta]iPhone 2018年全球出货2.25亿部:中国区下滑两成
  17. js替换元素与设置时间间隔
  18. Uva1001 Say Cheese Floyd
  19. fzu 1330:Center of Gravity(计算几何,求扇形重心)
  20. redux的基本概念

热门文章

  1. nodejs在同一台服务器上部署并同时运行两个或以上服务端时,一个服务用户登录后会挤掉另一个用户的问题
  2. 1-NPM
  3. [ActionScript 3.0] AS3 访问舞台上元件的方法
  4. Iwpriv工作流程及常用命令使用
  5. CoreSeek有符号整型
  6. Java NIO(New I/O)的三个属性position、limit、capacity
  7. curl命令学习(转载的)
  8. 使用eclipse开发webService很简单
  9. Gvim各种插件配置(windows环境下)
  10. HDOJ(HDU) 2115 I Love This Game(排序排序、、、)
  11. 关于document.write()重写页面
  12. node.js 中回调函数callback(转载),说的很清楚,看一遍就理解了
  13. 使用类似于中介者模式实现不同VC之间的跳转
  14. 修改(同步)linux时间
  15. Eclipse集成spket插件_Ext-5.1.0
  16. jquery touch 移动端上下滑动加载
  17. vue-router路由
  18. Python解惑:整数比较
  19. 敏捷项目-依赖项拖动change
  20. Famous框架系列一:famous/core/Surface