'@'符号用作函数修饰符是python2.4新增加的功能,修饰符必须出现在函数定义前一行,不允许和函数定义在同一行。也就是说@A

def f(): 是非法的。

只可以在模块或类定义层内对函数进行修饰,不允许修修饰一个类。一个修饰符就是一个函数,它将被修饰的函数做为参数,并返回修饰后的同名函数或其它可调用的东西。

实例(1):

def spamrun(fn):

def

sayspam(*args):

print "spam,spam,spam"

return

sayspam

@spamrun

def useful(a,b):

print

a**2+b**2

useful(3,4)

结果:

spam,spam,spam

实例(2):

def spamrun(fn):

print "spam,spam,spam"

@spamrun

def useful(a,b):

print

a**2+b**2

结果:

spam,spam,spam

实例(3):

def spamrun(fn):

def

sayspam(*args):

print "spam,spam,spam"

return

sayspam

@spamrun

def useful(a,b):

print

a**2+b**2

useful(3,4)

结果:

spam,spam,spam

实例(4):

def addspam(fn):

def

new(*args):

print "spam,spam,spam"

return fn(*args)

return

new

@addspam

def useful(a,b):

print

a**2+b**2

useful(4,3)

结果:

spam,spam,spam

25

追加

实例

def decorator(fn):

def

test(*args):

print "My god!"*3

return fn(*args)

return

test

@decorator

def other(a,b):

print

a**2+b**2

if __name__=="__main__":

other(4,3)

other(3,4)

结果:

My god!My god!My god!

25

My god!My god!My god!

25

注释掉//print return fn(*args)

结果是:

My god!My god!My god!

My god!My god!My god!

要想使other函数能正常运行,必须加返回值,@decorator是一个statement,会将other函数当作参数传入来执行test方法

python语言中print函数的作用_[转载]python中的@符号的作用相关推荐

  1. python语言中print函数的作用_python中如何使用print函数

    Python中print语句 1.逗号分隔符 在Python中print语句可根据sys.stdout中包含的文件生成输出,它接受一个逗号分隔的对象表,如下实例:x = 1 y = 2 z = 3 p ...

  2. python语言中print函数的作用_python中print()方法有什么

    python中print()方法有什么 发布时间:2020-11-11 13:50:08 来源:亿速云 阅读:91 作者:小新 这篇文章给大家分享的是有关python中print()方法有什么的内容. ...

  3. python语言中ch_已知在Python语言中 upper() 函数可以将英文小写字母转化为大写字母,例如: 'cpda'.upper() CPDA 则下列语句的输出结果为 CHINACPD...

    已知在Python语言中 upper() 函数可以将英文小写字母转化为大写字母,例如: >>> 'cpda'.upper() CPDA 则下列语句的输出结果为 CHINACPDA a ...

  4. c语言中fputc函数的作用是,C语言中fputc函数的用法_后端开发

    Python画ROC曲线和AUC值计算(附代码)_后端开发 ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器的优劣.这篇文章将先简单的 ...

  5. python语言中range函数的功能_python应用:python range函数

    在您开始之前,在你的计算机将需要Python,但您可能不需要下载它.首先检查(在同级目录下在命令行窗口输入python)有没有安装Python.如果你看到了一个Python解释器的响应,那么就能在它的 ...

  6. Python语言中 del函数和insert函数用法

    del函数和insert函数用法li=[1,2,3,4,5] print('li is :',li) tmp = li[0] print('tmp is:',tmp)del li[0]print('l ...

  7. 在python语言中ipo模式不包括_下面不是IPO模式的一部分的是()_学小易找答案

    [单选题]对于某个导体电阻的大小,以下说法正确的是 (6.0分) [单选题]下面不是IPO模式的一部分的是() [单选题]对如图 所示的电路,下列说法正确的是 (6.0分) [填空题]Python语言 ...

  8. python语言中print中加号、减号、乘号的应用

    #print中加号.减号.乘号.除号的应用 #设定几个变量 c="佳学基因" j="基因" s="是一个" m="解码业务&quo ...

  9. python函数定义错误_[转载]python之函数的使用及异常处理2021.1.30

    2.1 定义函数 def 函数名(参数): 代码1 代码2 ...... 2.2 调⽤函数 函数名(参数) 注意: 1. 不同的需求,参数可有可⽆. 2. 在Python中,函数必须先定义后使⽤. 2 ...

  10. python什么时候用函数和类_【Python】一文说清楚类与函数的选择

    前两天一位已经学习python一段时间的小伙伴问了这样一个问题:虽然已经使用python一年多了,也用python写过很多脚本,代码量从几十行到上千行的也有,但是从未使用过类(class),似乎用函数 ...

最新文章

  1. 主元素问题 Majority Element
  2. Linq 等式运算符:SequenceEqual
  3. python的主函数如何书写_Python程序的入口在哪里?main函数的恰当写法
  4. 用php生成html文件,怎样用PHP生成html文件
  5. python 类-Python的类
  6. 关于日志的常用配置(log4j和logback)
  7. zabbix 2.2自动安装脚本
  8. Linux安装配置Java1.8开发环境
  9. sentinel 限流熔断神器详细介绍
  10. Androd安全——反编译技术完全解析
  11. 【clickhouse】clickhouse TCP 方式发送数据 ClickHouse-Native-JDBC
  12. 谈谈我们熟悉但未必了解的磁带库
  13. Idea 插件下载缓慢,无法下载的解决方式
  14. python字符串行列转换_Excel、SQL、Python分别实现行列转换
  15. web端的兼容性测试
  16. 网上预约挂号系统的设计与实现
  17. LaMDA 不可能觉醒吗?
  18. Pandas输出文件使用Excel打开时中文出现乱码的解决方法
  19. 纯文科生学计算机编程难度大不大
  20. TCP粘包、半包原理及解决方案

热门文章

  1. Scala深入浅出实战经典---001-Scala开发环境搭建和HelloWorld解析
  2. Net平台下的Mock工具---Rhino Mocks
  3. 转行做调度,你准备好了吗
  4. 第二章 马尔科夫决策过程和贝尔曼等式-强化学习理论学习与代码实现(强化学习导论第二版)
  5. 【算法学习】Fast burst images denoising
  6. 蒙提霍尔问题(三门问题,概率论)C语言验证
  7. 智能优化算法:树种算法-附代码
  8. 专业书籍阅读-Earth System Science Data Resources
  9. 机器学习——seaborn可视化
  10. HTML5学习总结(2)——header/nav/footer/article/section/aside