Net Core教程

云学编程的24天—【微软官方python入门教程 P40笔记】2021-11-21 P42装饰器Decorators

本文主要是介绍云学编程的24天—【微软官方python入门教程 P40笔记】2021-11-21 P42装饰器Decorators,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Programming components

Object: Nouns ; Data constructs ; They're the things that we're going to operate upon.

Functions/Methods: Verbs ; Actions ; They're all the different things that we're going to be able to do.

eg: My OS you might consider that an object. getenv that's going to be our verb.

Decorators : Adjectives;  Add additional functionality to code; Common in frameworks

Using a decorator

#Snippet from Flask
#register https://myserver/api/products
@route('api/products') #route registration
def get_products:
    #code to list from database
    pass

使用装饰器@route告诉Flask,当某人访问api/products,这里的代码就是我要调用的。

这就是幕后的样子:

Creating a decorator

def logger(func):
     def wrapper():
          print('Logging execution')#我的code
          func() #你的code
          print('Done logging')#我的code
     return wrapper
@logger。        #如果某人用我们的装饰器,你(python)就调用制定函数wrapper()
def sample():
     print('-- Inside sample function ')
sample()
 

Logging execution
-- Inside sample function #执行func()
Done logging 

#利用注解的形式实现了一个AOP功能 ——弹幕(虽然看不懂觉得很厉害的样子)

应用场景:

If I need to log execution which is what I'm trying to demo here, or maybe there's something where I need to do some level of authentication身份认证, and I need to make sure that the users log on, then I might go ahead and create a Decorator. 

 

这篇关于云学编程的24天—【微软官方python入门教程 P40笔记】2021-11-21 P42装饰器Decorators的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!