Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで関数デコレータのチェーンを作成するにはどうすればよいですか?


デコレータは「ラッパー」であり、関数自体を変更することなく、デコレートする関数の前後にコードを実行できます。

指定されたコードは次のようにデコレータのチェーンにラップできます。

def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
@makebold
@makeitalic
def hello():
    return "hello world"
print hello()
出力
C:/Users/TutorialsPoint1/~.py
<b><i>hello world</i></b>

このhtmlコードを以下のリンクのように実行すると、出力は太字でイタリック体の「helloworld」になります


  1. Pythonでdefで定義された関数をプロットする方法は? (Matplotlib)

    Pythonでdefで定義された関数をプロットするには、次の手順を実行できます- 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 def、を使用してユーザー定義関数を作成します つまり、 f(x)。 xを作成します numpyを使用したデータポイント。 xをプロットします およびf(x) plot()を使用する メソッド。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np from matplotlib import pyplot as plt plt.rcParams["f

  2. Pythonでログヒストグラムを作成するにはどうすればよいですか?

    ログヒストグラムを作成するには、 log =Trueを使用できます。 hist()の引数で メソッド。 ステップ 番号のリストを作成します。 density =Trueでヒストグラムをプロットします 。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = Tr