python使用教程操作(详解python中@的用法)
python使用教程操作
详解python中@的用法python中@的用法
@是一个装饰器,针对函数,起调用传参的作用。
有修饰和被修饰的区别,‘@function'作为一个装饰器,用来修饰紧跟着的函数(可以是另一个装饰器,也可以是函数定义)。
代码1
|
def funA(desA): print ( "It's funA" ) def funB(desB): print ( "It's funB" ) @funA def funC(): print ( "It's funC" ) |
结果1
It's funA
分析1
@funA 修饰函数定义def funC(),将funC()赋值给funA()的形参。
执行的时候由上而下,先定义funA、funB,然后运行funA(funC())。
此时desA=funC(),然后funA()输出‘It's funA'。
代码2
|
def funA(desA): print ( "It's funA" ) def funB(desB): print ( "It's funB" ) @funB @funA def funC(): print ( "It's funC" ) |
结果2
It's funA
It's funB
分析2
@funB 修饰装饰器@funA,@funA 修饰函数定义def funC(),将funC()赋值给funA()的形参,再将funA(funC())赋值给funB()。
执行的时候由上而下,先定义funA、funB,然后运行funB(funA(funC()))。
此时desA=funC(),然后funA()输出‘It's funA';desB=funA(funC()),然后funB()输出‘It's funB'。
代码3
|
def funA(desA): print ( "It's funA" ) print ( '---' ) print (desA) desA() print ( '---' ) def funB(desB): print ( "It's funB" ) @funB @funA def funC(): print ( "It's funC" ) |
结果3
It's funA
< function funC at 0x000001A5FF763C80 >
It's funC
It's funB
分析3
同上,为了更直观地看参数传递,打印desA,其传的是funC()的地址,即desA现在为函数desA()。
执行desA()即执行funC(),desA=desA()=funC()。
代码4
|
def funA(desA): print ( "It's funA" ) def funB(desB): print ( "It's funB" ) print ( '---' ) print (desB) @funB @funA def funC(): print ( "It's funC" ) |
结果4
It's funA
It's funB
None
分析4
上面将funC()作为参数传给funA,那么funA(funC())怎么传给funB()呢?打印desB,发现并没有参数传递。
是否可以理解为当‘装饰器' 修饰 ‘装饰器'时,仅是调用函数。
以上所述是小编给大家介绍的python中@的用法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
原文链接:https://blog.csdn.net/occamo/article/details/80842311
- python爬虫出租屋(python爬虫租房信息在地图上显示的方法)
- python3列表的使用教程(对Python3 pyc 文件的使用详解)
- python排序方法简单(快速排序的四种python实现推荐)
- python3.7手册中文版(Python3.4解释器用法简单示例)
- python数据分析删除重复值(Python3实现从排序数组中删除重复项算法分析)
- python如何遍历一个列表(说说如何遍历Python列表的方法示例)
- python读取mat文件(详解Python Matplot中文显示完美解决方案)
- python怎么查看函数的返回值(python在回调函数中获取返回值的方法)
- python 写入d盘文件(python文件写入write的操作)
- python无法拒绝的表白代码教程(很酷的python表白工具 你喜欢我吗)
- python线程安全队列(Python 限制线程的最大数量的方法Semaphore)
- python与气象(使用Python和Prometheus跟踪天气的使用方法)
- pythonpil安装包(基于Python的PIL库学习详解)
- python渗透攻击(Python实现DDos攻击实例详解)
- python爬虫开源代码(Python实现的文轩网爬虫完整示例)
- python中的数据类型和数字类型(Python数据类型之Number数字操作实例详解)
- 新款起亚霸锐实拍,比普拉多气派,配3.0T V6,引入国内或许能大卖(新款起亚霸锐实拍)
- ()
- 张勇 阿里新任掌门人(阿里新任掌门人)
- 毛戈平全国第一柜花落银泰 高端国货迎来 高光 时刻(毛戈平全国第一柜花落银泰)
- 14岁丧父 20岁丧母,从苦难走向辉煌的银泰创始人沈国军(14岁丧父20岁丧母从苦难走向辉煌的银泰创始人沈国军)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9