python学习笔记——函数装饰器

装饰器

作用:扩展被装饰的函数功能。
参考链接: http://c.biancheng.net/view/2270.html
https://zhuanlan.zhihu.com/p/640193185

函数赋值

def func(message):
    print('Got a message: {}'.format(message))
    
send_message = func
send_message('hello world')

# 输出
# Got a message: hello world

函数作为参数

def get_message(message):
    return 'Got a message: ' + message


def root_call(func, message):
    print(func(message))
    
root_call(get_message, 'hello world')

# 输出
Got a message: hello world

函数内定义函数

函数对象作为返回值

使用

对funB(args)使用@funA,本质就是:funB=funA(funB)

def funA(fn):
    # 定义一个嵌套函数
    def say(arc):
        print("Python教程:",arc)
    return say
@funA
def funB(arc):
    print("funB():", a)
funB("http://c.biancheng.net/python")
def funA(fn):
    # 定义一个嵌套函数
    def say(arc):
        print("Python教程:",arc)
    return say
def funB(arc):
    print("funB():", a)
   
funB = funA(funB)
funB("http://c.biancheng.net/python")

应用

@staticmethod

@classmethod

class People():
    def run(self):
        print('this is run')
    @classmethod
    def relax(cls):
        print('this is relax')
xiaoming = People()
xiaoming.run()#this is run
People.relax()#this is relax
People.run()#TypeError: run() missing 1 required positional argument: 'self'
##  @property
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值