今天被问到Python函数修饰符,顺手写写。

Python函数修饰符,“@”,与其说是修饰函数倒不如说是引用、调用它修饰的函数。

举个栗子,下面的一段代码,里面两个函数,没有被调用,也会有输出结果:

def test(f):print "before ..."f()print "after ..."@test
def func():print "func was called"

直接运行,输出结果:

before ...
func was called
after ...

上面代码可以看出来,只定义了两个函数: test和func。没有地方调用它们。如果没有“@test”,运行应该是没有任何输出的。

但是,Python解释器读到函数修饰符“@”的时候,后面步骤会是这样了:

1. 去调用 test函数,test函数的入口参数就是那个叫“func”的函数;

2. test函数被执行,入口参数的(也就是func函数)会被调用(执行);

换言之,修饰符带的那个函数的入口参数,就是下面的那个整个的函数。有点儿类似JavaScript里面的 function a (function () { ... });

再来看一个例子:

def test(func):func()print "call test"def test1(f):f()print "call test1"def main():@testdef fun():print "call fun"@test1def fun1():print "call fun1"
main()

输出结果:

call fun
call fun1
call test1
call test

需要注意的:

1. 函数先定义,再修饰它;反之会编译器不认识;

2. 修饰符“@”后面必须是之前定义的某一个函数;

3. 每个函数可以有多个修饰符。

Python修饰符 (一)—— 函数修饰符 “@”相关推荐

  1. python @修饰符_python函数修饰符@的使用方法解析

    python函数修饰符@的作用是为现有函数增加额外的功能,常用于插入日志.性能测试.事务处理等等. 创建函数修饰符的规则: (1)修饰符是一个函数 (2)修饰符取被修饰函数为参数 (3)修饰符返回一个 ...

  2. python中函数修饰符_python中的函数修饰符

    首先,什么是函数修饰符?函数修饰符就是对原有函数做一层包装.比如有以下两个函数: def func1(): print 'I am function func1' def func2(): print ...

  3. Python修饰符--函数修饰符 “@”

    Python函数修饰符,"@",与其说是修饰函数倒不如说是引用.调用它修饰的函数. 举个栗子,下面的一段代码,里面两个函数,没有被调用,也会有输出结果: def test(f):p ...

  4. python函数修饰符@的使用

    python函数修饰符@的作用是为现有函数增加额外的功能,常用于插入日志.性能测试.事务处理等等. 创建函数修饰符的规则: (1)修饰符是一个函数 (2)修饰符取被修饰函数为参数 (3)修饰符返回一个 ...

  5. python修饰符的理解_python函数修饰符@的使用方法解析

    这篇文章主要介绍了python函数修饰符@的使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python函数修饰符@的作用是为现有函数增 ...

  6. python修饰符号的使用_Python 函数修饰符(装饰器)的使用

    Python函数修饰符(装饰器)的使用 1.修饰符的来源 修饰符是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等. 修饰符是解决这类问题的绝佳设计,有了修 ...

  7. python修饰符作用_python函数修饰符@的使用

    python函数修饰符@的作用是为现有函数增加额外的功能,常用于插入日志.性能测试.事务处理等等. 创建函数修饰符的规则: (1)修饰符是一个函数 (2)修饰符取被修饰函数为参数 (3)修饰符返回一个 ...

  8. Python 字符串常见的语句,和练习题,字符串练习题 Python 切片函数修饰符 #精度和进制Python 字符串一些语句练课件练习题

    字符串练习题 Python 切片 函数修饰符 #精度和进制 Python 字符串一些语句练 课件练习题 4,.by     字符串的替换         方法    描述         replac ...

  9. python 函数修饰_python修饰函数 python 函数有多个修饰符

    define的意思,用来定义函数. 如: def 函数名(参数1, 参数2, --, 参数N): 执行语句 # 例:简单的函数使用# 定义函数def hello(): print 'hello pyt ...

最新文章

  1. 机器学习Tips:关于Scikit-Learn的 10 个小秘密
  2. linux awk 用一个或多个空格做分隔符
  3. 基本数据结构----循环链表
  4. Oracle优化07-分析及动态采样-DBMS_STATS 包
  5. 【三分钟学习FFMPEG一个知识点】FFMPEG关于avio_alloc_context申请使用内存释放问题
  6. Swift3中数组创建方法
  7. C语言ffmpeg合并多个视频,ffmpeg合并多个视频
  8. netty SimpleChannelInboundHandler类继承使用
  9. Python实现视频语音和字幕自动审查功能
  10. SQL截断增强功能:SQL Server 2019中的静默数据截断
  11. table td 纵向求和
  12. 英伟达驱动怎么设置显示帧数?
  13. 多分辨率风场数据可视化
  14. Thinkphp6 think-queue redis 执行异步任务
  15. TiDB PCTP(PingCAP 认证 TiDB 数据库专家) 认证考试高分攻略
  16. 从身份证号提取出生日期
  17. Photoshop插件-秋色效果-脚本开发-PS插件
  18. PPT使用技巧 二 调整PPT文字和图片的层级关系
  19. 精美火锅美食特产PPT模板
  20. 网页下载的视频看不了怎么回事 网页下载的视频怎么找不到了

热门文章

  1. 【资料分享】《建筑给水排水设计标准》(GB50015-2019)
  2. linux系统dmesg日志,Linux系统日志
  3. 【实现一套爬虫数据抓取平台】[0-0] 序篇
  4. tui-editor(富文本编辑器插件)安装报错处理方法
  5. 网络互助滥施 “人肉引擎”演变成“网络暴力”
  6. 编译过程的一些小知识——内部连接与外部连接
  7. 设置cros响应头实现跨域
  8. LINUX安装rhel字符界面教程
  9. 第三篇:基于小米手机的,Magisk面具教学
  10. git branch 管理分支(超详细)