Python3常用3种装饰器语法总结
本文将详细介绍Python3常用3种装饰器语法,根据实例编码为大家进行详细介绍,对大家学习和工作具有很强的参照参考意义。

1. 概述词法
装饰器又称为函数公式装饰器,主要作用是在不改动原先函数的编码前提下,在原函数自身不被改动、实现方式不变的情况下,提升函数的“装饰设计”,把原先的函数当作一个总体,传入函数公式应用,并回到这一函数公式。在这个过程中添加一些与函数有关的编码,当函数强制执行时,便会一块儿实行,等同于让函数增强了更多作用。
常见的层面:
- 1.1 为函数提升日志作用。
- 1.2 为函数完成认证作用。
- 1.3 挽救函数公式作用。
2. 并没有主要参数函数的装饰器
用来标记的装饰器通常会写一段函数,最基本的装饰器就是写一个函数,并传入一个主要参数。实质是把整个函数当作了主要参数,并返回,这一过程并没有执行函数,只增强了一段叙述信息内容。
def mycountry(m):
country = "china"
print(country)
return m
mycountry_decorator = mycountry
def myname():
name = "chengruofei"
print(name)
return name
myname()
执行结果:
china
chengruofei
3. 带主要参数函数的装饰器
只需在装饰器函数中提升一个函数,并在其中组成传入的“两个主要参数”给新的函数,这时传参就会变成结构化的函数。如下:
def mycountry(m):
country = "china"
print(country)
def myb(bb):
m(bb)
print("TEST boy")
return myb
mycountry_decorator = mycountry
def myname(b):
name = "chengruofei"
print(name)
print("I am a:", b)
return name
myname(mycountry_decorator)("boy")
执行结果:
china
chengruofei
('I am a:', 'boy')
TEST boy
4. 带主要参数装饰器
有时候装饰器是一个复杂的函数,结合了很多的作用,需要带上主要参数去使用适合的装饰器函数。可以在原先的编译器表层再加上一层层函数,并把内层函数做为总体返回。
def myID(i):
if i == 'mycountry':
def mycountry(m):
country = "china"
print(country)
def myb(bb):
m(bb)
print("TEST boy")
return myb
return mycountry
else:
def myschool(m):
school = "shijiazhuangjisuanjizhiyejishuxueyuan"
print("I graduated from", school)
def myb(bb):
m(bb)
print("TEST boy")
return myb
return myschool
myID('myschool')
def myname(b):
name = "chengruofei"
print(name)
print("I am a:", b)
return name
myname("boy")
执行结果:
('I am a:', 'boy')
TEST boy
综上所述,Python3常用3种装饰器语法介绍完毕,希望本文对大家有所帮助!
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6655.html
