python 学习笔记 20201207
本文最后更新于 1041 天前,其中的信息可能已经有所发展或是发生改变。

python 装饰器

学习之后发现 python 装饰器的作用类似于 java 里面的注解,可以将函数共同的操作抽离出来封装,也可以固定封装一个业务逻辑,比如 某些函数需要判断传入的参数是否合法,就可以写一个装饰器将判断逻辑封装起来,然后在需要判断的函数上面添加装饰器

def checkargs(func):
  def wrapper(*args,**kwargs):
    print("check args")
    return func(*args,**kwargs)
  return wrapper

@checkargs
def nextPage(index,limit):
  pass

还有带参数的装饰器,比如一开始学习的时候看的 FastAPI,对路由的定义就是通过装饰器的,那么可以这样写

def app_route(url):
  def wrapper(func):
    def routewrapper(*args,**kwargs):
      print("current route:"+url)
      return func(*args,**kwargs)
    return routewrapper
  return wrapper

装饰器还有一种 类装饰器

class Test(object):
  def __init__(self):
    pass

  def __call__(self,func):
    def wrapper(*args,**kwargs):
      print("demo")
      return func(*args,**kwargs)
    return wrapper

这种装饰器我觉得更适合整个项目使用

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇