Python_装饰器
前言:
1. 了解什么是函数? 函数可以传值、赋值、返回值
2. 嵌套函数:在函数内部定义的函数,只能在函数内部执行
3. 利用返回return在函数外去执行嵌套函数
4. 将函数作为一个参数去传给另一个函数
注意:return 函数名后面加不加()区别很大。 加()函数就会执行,而不加()它将会被到处传递、赋值而不去执行。
装饰器_函数:
# @Time : 2022/2/23 22:35
# @Author : Bella
# -*- coding: utf-8 -*-
from functools import wraps
# 1. 简单的方式去构建一个装饰器修饰函数
def zhuangshiqi_1(fun):
@wraps(fun)
# @wraps的用处主要是在装饰器方便访问之前的函数属性
def demo():
print('开始')
fun()
print('结束')
return demo
def hanshu_1():
print('函数1')
res = zhuangshiqi_1(hanshu_1)
res()
# 2.标准方式去写装饰器
def zhuangshiqi_2(fun, *args, **kwargs):
@wraps(fun, *args, **kwargs)
# @wraps的用处主要是在装饰器方便访问之前的函数属性
def demo(*args, **kwargs):
print('开始')
fun(*args, **kwargs)
print('结束')
return demo
@zhuangshiqi_2
def hanshu_2():
print('函数2')
@zhuangshiqi_2
def hanshu(count):
print('函数{}'.format(count))
hanshu_2()
hanshu(count=5)
-------------------------------------------------------------------------------------------------------