博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python: @的作用
阅读量:4298 次
发布时间:2019-05-27

本文共 581 字,大约阅读时间需要 1 分钟。

之前学过pytho中的装饰器使用时需要用@符号对要装饰的函数做修饰。

现在,在学习使用fastreid时,代码中有网络以及各个模块都会使用register类,其中就使用了@符号,下面就@符号的使用做记录。

def check_num(func):    strs = func()    if strs.isdigit():        print('输入为数字:{}...'.format(strs))    else:        print('输入不是数字:{}...'.format(strs)) @check_numdef get_input():    strs = input('请输入:')    return strs

用法: 定义函数的前一行,当解释器读到@这一行时,跳过这一行,先读取下面的函数,将参数作为参数传递给@这一行的函数,再执行@这一行的函数

上面的代码运行结果:

请输入: 123输入为数字:123...

示例二:

def function1(c):    a = c() # c为函数,有返回值,需要接收。不加这行,会报错,function不能进行            # 乘法操作的错误    print(a*a)@function1def function2():    return 4

上面的示例输出结果为 16

转载地址:http://ltnws.baihongyu.com/

你可能感兴趣的文章
linux下源的相关笔记(suse)
查看>>
linux系统分区文件系统划分札记
查看>>
Linux(SUSE 12)安装Tomcat
查看>>
Linux(SUSE 12)安装jboss4并实现远程访问
查看>>
Neutron在给虚拟机分配网络时,底层是如何实现的?
查看>>
netfilter/iptables全攻略
查看>>
Overlay之VXLAN架构
查看>>
Eclipse : An error occurred while filtering resources(Maven错误提示)
查看>>
在eclipse上用tomcat部署项目404解决方案
查看>>
web.xml 配置中classpath: 与classpath*:的区别
查看>>
suse如何修改ssh端口为2222?
查看>>
详细理解“>/dev/null 2>&1”
查看>>
suse如何创建定时任务?
查看>>
suse搭建ftp服务器方法
查看>>
centos虚拟机设置共享文件夹并通过我的电脑访问[增加smbd端口修改]
查看>>
文件拷贝(IFileOperation::CopyItem)
查看>>
Tensorflow神经网络框架(第三课 3-1Tensorflow简单实例 非线性回归 梯度下降法)
查看>>
Tensorflow神经网络框架(第三课 3-2MNIST数据集分类简单版本,手写数字识别)
查看>>
解决PyCharm [import tensorflow as tf]报错
查看>>
C++轻量级日志类CLogger的使用(更新)
查看>>