一、函数装饰器
#上面是装饰器,下面是原函数 def ifren(p): #p是额外带来的参数,因为要带参数p所以多了一层函数嵌套 def plusnihao(f): def wraper(): #核心装饰器代码,f代指sayhello函数,是由上一层传入进来的,本层负责增加前后功能 f() print("and nihao") #添加的功能 print(p) #最上层传入进来的,是额外带进来的参数 return wraper #返回核心装饰器 return plusnihao #因为有参数p,再给核心装饰器装一层皮 返回 @ifren(1000) #额外的参数p。 @后面是装饰器函数名 这句话相当于 ifren(1000)(plusnihao(wraper(sayhello))) def sayhello(): print("nihao") sayhello() #用原函数运行
标签:python,plusnihao,sayhello,def,print,装饰,详解,ifren From: https://www.cnblogs.com/yaoyue68/p/18611274