問題タブ [functools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - str.startswith での高階関数の使い方
コメント行を消去したいファイルがあります。次のような方法で、操作に使用したいと思います。functools.partial
str.startswith
どうやらクラスメソッドであるため、これは機能しません。functools.partial
それが機能するように使用する適切な方法は何str.startswith
ですか?
python - クラスメンバー関数が部分的な値を返すためのメモ化ラッパー
ここの memoize レシピを使用しており、2 つの値を返す関数用に少し変更しています。このラッパーを使用して、1 番目と 2 番目の値を個別に返す 2 つの別個の関数を作成しますが、返された関数のいずれかが同じ引数で呼び出されたときにオーバーヘッドが発生しないように、関数の評価はキャッシュされます。このラッパーのコードは次のとおりです。
今、私はf
このようにクラスで定義されている関数でこれを使用しようとしています:
そして、私はそれをこのように呼んでいます
成功するとf_v1(x)
が返さ2x
れ、f_v2(x)
が返され3x
ます。しかし、これはエラーで失敗します:
関数がクラス外で宣言されている場合、私のコードは正常に動作します。私は何が欠けていますか?を使用してPython 2.7
います。
python - _functools.py はどこにありますか?
functools.py でラップ デコレータがどのように実装されているpartial()
かを見ていて、それがどのように実装されているかを確認したかったのです。_functools からインポートされたので、_functools.py を探しましたが、見つかりませんでした。Python ディレクトリ全体を grep し、次に C: ドライブ全体を grep しましたが、何も表示されませんでした。このファイルはどこにありますか? (Win7 x64)
python - 関数の任意の引数を部分的に適用する方法は?
functools のパーシャルを使用して、関数の 2 番目の引数を部分的に適用したいのですが、次のようにパーシャルではなくラムダを使用する方が簡単です。
しかし、ここでは(学習のために)部分的に使用したいので、これを思いつきました。
次の疑似コードのように、任意の場所で任意の引数を部分的に適用できるレベルまでこの戦略を拡張することは可能ですか?
私たちの場合、この関数を次のように使用できます
私が望むようにインデックス付きのパーシャルを持つことは可能ですか? 私が気付いていない、これに似たものはすでにありますか?さらに重要なことに、インデックス付きの部分的な一般的なアイデアは、なぜ良いのか悪いのか?
この質問は、キーワード引数を取らない関数の 2 番目の引数を部分的に適用できますか? の重複の可能性があるとマークされています。 その質問では、OPは2番目の引数を部分的に適用することは可能ですかと尋ねましたが、ここでは、任意の引数を部分的に適用できる関数をクックする方法を尋ねています
python - TypeError: 'functools.partial' オブジェクトに属性 '__getitem__' がありません
パンダのデータフレームを返す「generate_wind_cap_new_data」という関数があります。
これを特定の時間範囲でカットしたい。私のコードは次のとおりです。
しかし、エラーが発生します: TypeError: 'functools.partial' object has no attribute ' getitem '
エラーを処理するにはどうすればよいですか? または別の可能な方法はありますか?
ありがとう!!
python - functools.wraps を使用して装飾された関数は、ラッパーの名前で TypeError を発生させます。なんで?回避する方法は?
functools.wraps
の名前を保持する役割を果たしますg
:
しかし、引数を に渡すと、ラッパーの名前を含む がg
得られます。TypeError
この名前はどこから来たのですか?どこに保存されていますか?そして、例外を次のようにする方法はありますg() takes no arguments
か?
python - 文字列等価関数を部分的に適用する
私が理解していることから、文字列をis
と と比較できます==
。これらの機能を部分的に適用する方法はありますか?
例えば:
私に与えます:
python - Python - 関数がデコレータを通過する回数を数える
関数がデコレータを介してルーティングされるたびにカウンターを増やしたいデコレータがあります。これまでのところ、これは私のコードです
別の関数がデコレータを通過し、その関数のカウントが 0 にリセットされるまで、正常に動作します。合計回数を集計するにはどうすればよいですか?