zoukankan      html  css  js  c++  java
  • python学习手册笔记——38.装饰器

    00.装饰是未函数和类指定管理代码的一种方式。装饰器本身的形式是处理其他的可调用对象的可调用的对象。
    *函数装饰器在函数定义的时候进行名称重绑定,提供一个逻辑层来管理函数和方法或随后对它们的调用。
    *类装饰器在类定义的时候进行名称重绑定,提供一个逻辑层来管理,或管理随后调用它们所创建的示例。

    01.管理调用和实例
    *函数装饰器安装包装器对象,以在需要的时候拦截随后的函数调用并处理它们
    *类装饰器安装包装器对象,以在需要的时候拦截随后的实例创建调用并处理它们。

    02.装饰器未这样的任务提供了一种显式的语法,它使得意图明确,可以最小化扩展代码的冗余,并且有助于确保正确的API使用。
    *装饰器由一种非常明确的语法
    *当主体函数或类定义的时候,装饰器应用一次

    03.函数装饰器:函数装饰器是一种关于函数的运行时声明,函数的定义需要遵守此声明。


    04.装饰器
    func(6,7)
    decorator(func)(6,7)

    05.class C:
    @staticmethod
    def meth(...):...
    class C:
    @property
    def name(self):....

    05.def decorator(F):
    #Save or use function F
    #Return a different
    @decorator
    def func():...

    06.def decorator(F):
    def wrapper(*args):
    return wrapper

    07.装饰器参数:函数装饰器和类装饰器似乎都能接收参数,尽管实际上这些参数传递给了正式返回装饰器的一个可调用对象,而装饰器反过来又返回一个可调用对象。


    08.Private声明类实例的那些不能获取或复制的属性,而从类的方法的代码内部获取或复制除外。
    Public声明了一个类的实例属性,它可以从类的外部一级在类的方法内部获取和访问。

  • 相关阅读:
    AUTOSAR-文档中所使用的UML文件
    开心一下-实现基于Java一个中文编程语言
    HDU 1026 Ignatius and the Princess I
    HDU 2553 (状压) N皇后问题 (2)
    UVa 11825 (状压DP) Hackers' Crackdown
    UVa 10891 (博弈+DP) Game of Sum
    LA 2965 Jurassic Remains
    HDU 2126 (背包方法数) Buy the souvenirs
    POJ 3984 迷宫问题
    POJ 3287 (基础BFS) Catch That Cow
  • 原文地址:https://www.cnblogs.com/aixiaoxiaoyu/p/11238625.html
Copyright © 2011-2022 走看看