Python笔记之装饰器(简单版)

本文通过逐步深入的实例,讲解Python装饰器的原理和使用方法,展示如何在不修改原函数代码的情况下,增加额外的功能。

一、目标

学习Python的装饰器的用法,在不改变原有方法代码的情况下,去改变原来代码的内容

二、试验平台

windows7 , python3.7

三、先通过一个例子了解。

解析:原有有一个函数叫func1,能打印一句话。现在想要执行这个方法前,先执行其他任务。(这还不叫装饰器哈,继续往下看)

def func1():
    print("超级飞侠勇闯天涯, hello world !")
def zhuangshiqi():
    print("这是装饰器打印的内容.....")
    func1()

zhuangshiqi()

'''
输出结果:
这是装饰器打印的内容.....
kahn, hello world !
'''

四、在看一个更进一步的例子

解析:将函数func1当成一个参数传进另外一个函数zhuangshiqi()里去,同样达到了,不改变func1的代码,实现装饰的目的,但这也还不是装饰器,继续往下看例子。

ef func1():
    print("超级飞侠勇闯天涯, hello world !")
def zhuangshiqi(xArgs):
    print("这是装饰器打印的内容.....")
    xArgs()

zhuangshiqi(func1)

'''
输出结果:
这是装饰器打印的内容.....
kahn, hello world !
'''

五、再来个例子,开始有点绕了,

def func1():
    print("kahn超级飞侠勇闯天涯, hello world !")
def zhuangshiqi(xArgs):
    def zsqInner():
        print("这是装饰器打印的内容.....")
        xArgs()
    zsqInner()

zhuangshiqi(func1)

'''
输出结果:
这是装饰器打印的内容.....
kahn超级飞侠勇闯天涯, hello world !
'''

六、超级简单的python装饰器例子来了

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:kahn

def func1():
    print("kahn超级飞侠勇闯天涯, hello world !")
def zhuangshiqi(xArgs):
    def zsqInner():
        print("这是装饰器打印的内容.....")
        xArgs()
    return zsqInner

kahn = zhuangshiqi(func1)
kahn()
'''
输出结果:
这是装饰器打印的内容.....
kahn超级飞侠勇闯天涯, hello world !
'''
KAHN-2019年4月21日22:58:30

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潇洒哥Kahn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值