タグ

Pythonとデコレータに関するdelegateのブックマーク (2)

  • Pythonのデコレータの基礎と応用

    アドベントカレンダー「ほぼ横浜の民」の3日目の記事です。 今年は Python のデコレータについて書いています。かなり雑に説明すると、デコレータとは関数についている @staticmethod や @classmethod のことです。OSS を見ているとカスタムのデコレータもあって、これってどのように機能しているんだろう?と気になることが多くなってきたので少し勉強してみました。 この記事を読んでわかること そもそもデコレータって何? デコレータってどうやって定義するの? 引数付きのデコレータはどうやって定義する? 引数付きのデコレータはなぜネストしている? なぜ functools.wraps を使ってデコレータを定義する必要があるの? 機械学習関連の OSS ではどのように使われている? デコレータとは? デコレータは、関数をラップすることで別の関数を返却する関数です。実際にはクラス

    Pythonのデコレータの基礎と応用
  • 【Python】体当たりで学ぶデコレータとスコープ | DevelopersIO

    こんにちは。DI部の春田です。 Pythonのデコレータを使いこなすには、スコープの理解が必要です。スコープの概念を理解しても、いざ実際に実装しようとすると正しく扱えていなかったりすることがあるかと思います。 今回は概念的の話は後回しにし、1つのサンプルコードに対してトライ&エラーを繰り返して、Pythonのデコレータとスコープを体当たりで理解していきたいと思います。概念の話は検索すればたくさんヒットすると思うので、そちらを当たっていただけたらと思います。 今回使用するサンプルコードです。(Python 3.7.3) var_a ~ var_e: 5つの変数 var_f ~ var_h: 3つの引数(パラメータ) outer(var_f): inner(var_g) を内包する関数 inner(var_g): メインの関数 decorator(var_h): inner(var_g)をラッ

    【Python】体当たりで学ぶデコレータとスコープ | DevelopersIO
  • 1