0923クラスの概要

閉鎖機能

定義された閉鎖機能

クロージャ:閉じた(内部関数の関数)を閉じるには、(内部関数への参照ではなく、グローバルスコープの変数外側範囲)を含むパッケージです。

閉鎖手段:外部参照の内部機能の機能、およびグローバルスコープのない範囲です。

例の閉鎖機能

import requests


def outter(url):
    def get():
        response = requests.get(url)
        print(f"done: {url}")
    return get

baidu=outter('https://www.baidu.com')
python = outter('https://www.python.org')

baidu()
baidu()

python()
python()   

レイヤーデコレータ

装飾的な定義

デバイスは、ツールを参照して、プログラムの機能は、機能ツールを持つことである、それはデコレータオブジェクトに追加機能を追加するためにデコレータを指します。したがって、デコレータの定義は、関数の定義があるが、関数の機能は他の機能に追加機能を追加するために使用されます。

デコレーター原理

デコレータを達成するための2つの原則に従う必要があります。

  1. 装飾された対象物のソースコードを変更しません
  2. コールは、装飾品の仕方を変更しません

レイヤデコレータテンプレート

def outter(func):
    def innter(*args,**kwargs):
        # 代码块  需要实现的功能
        res = func(*args,**kwargs)
        return res
    return innter

三のデコレータ

レイヤレイヤ外デコレータデコレータはその後、機能をラップされているパラメータは、レイヤデコレータを渡され、

def sanceng(engine):
    def outter(func):
        def wrapper(*args, **kwargs):  # wrapper是未来要运行的函数
            # 加功能

            res = func(*args, **kwargs)  # func是被装饰的函数
            return res
        return wrapper
    return outter

イテレータ導入

定義は、反復可能オブジェクト:__ iter__メソッドが呼び出された反復可能オブジェクトを

__ iter__とイテレータと呼ば__ next__方法:定義イテレータあり

おすすめ

転載: www.cnblogs.com/faye12/p/11573188.html