Python
には、関数のオプション引数として渡される関数を実行しない方法がありますこれはいつ実行されるのですか?特定のキーワード引数に一致する現在の図形の現在の軸インスタンスを取得し、または1つを作成Pythonでオプションの引数として渡された関数を自動的に実行しないようにする方法(例: `matplotlib`からplt.gca())
:例えば
は、
matplotlib
に、関数matplotlib.pyplot.gca(**kwargs)
は以下のように定義されます。
私は既にfigure
を持っているかどうかによって、新しいものを自動的に作成します。次のコードでは、figure
が作成される前に定義されている関数のオプションの引数としてplt.gca()
を使用していますが、最初に無駄なものを作成したくない場合は、figure
を作成しています。それは希望ない私は私のfigure
を作成した後、私の機能を定義した場合):
import matplotlib.pyplot as plt
# In this case, a useless, empty Figure is created here
def putAnnotation(mytxt, myax=plt.gca()):
myax.annotate(mytxt, xy=(0.5,0.5))
fig, [ax0, ax1] = plt.subplots(2,1)
# If I'd define the function here, there would be no useless Figure created...
# def putAnnotation(mytxt, myax=plt.gca()):
# myax.annotate(mytxt, xy=(0.5,0.5))
putAnnotation('Hello', myax=ax1)
plt.show()
はの実行時にオプションの引数として渡される関数の「機能」をアクティブにしない方法はありますコード?
受け入れ 'ないpassed'場合についての追加ドキュメントのリンクとチップのおかげで(それは、より良いかもしれない@Zulan重要ではないだろう示す?)だけでなく、感謝 @abukajと@MikeMüllerには同じ良い答えがあります! – ztl
NoneとNot passedを区別する方法の2つの例を追加しました。 – Zulan