問題タブ [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.

0 投票する
1 に答える
1374 参照

python - Python 関数ではありません

マッピングしている RxPy ストリームのハンドラーとして使用できる関数を構築しようとしています。私が持っている関数は、その変数が定義されているスコープ外の変数にアクセスする必要があります。これは、私にとって、ある種のクロージャーを使用する必要があることを意味します。そこで、functools.partial に到達して、1 つの変数を閉じ、ストリームにオブザーバーとして渡すことができる部分関数を返​​します。

ただし、これを行うと、次の結果になります。

問題を再現するサンプル コードを次に示します。

False問題は、呼び出し時に部分関数が返されることのようinspect.isfunctionです。

部分関数をこのチェックにパスさせるにはどうすればよいですか? 部分関数を「実際の」関数型に簡単に変換する方法はありますか?

0 投票する
1 に答える
78 参照

python - 別の関数で引数として渡される関数の引数の受け渡し/変更

奇妙な問題が 1 つあります。それ自体が他の関数の引数として渡される関数の引数を渡したり変更したりしたいです。詳細については、以下のコードを参照してください

そのため、post_processingメソッドとそのすべてのパラメーターをgeneric_method使用して my にfunctools's partial渡し、新しい変数もattrvalpost_processing メソッドに渡しました。しかし、もっと望ましいのは、変数をにattr_value 直接渡すか代入することです。ypost_processing

実行時に関数のパラメーターを変更する方法を探していました。私はネットを検索していinspectて、関数に渡される引数について説明するPythonのライブラリであることがわかりました。このような場合に使用できますか。

0 投票する
1 に答える
34 参照

python - クラスでpythonデコレータを定義する正しい方法は何ですか?

私が達成したいのは、次のコードが次のようになることです。

  • ここ1
  • ここ2
  • Here3 argOne argTwo

私の __call__ の使用が何らかの形で functools.wraps を破壊しているのではないかと思っています。また、ある時点で引数が失われているようにも見えます。

私が達成しようとしていることは可能ですか?

0 投票する
2 に答える
1128 参照

python - Total_ordering とクラス継承

私が理解していることから、のtotal_orderingデコレータfunctoolsは、順序付けられたクラスから継承されたクラスでうまく機能することが期待されていません.比較関数は既に定義されているため、定義しようとしません。

次の例を参照してください。

<すべてのテストの中で、オペレーターが関与するテストだけが期待される結果をもたらします。

クラス定義に>追加することで、同様に機能させることができます。__gt__ = lambda *_ : NotImplemented一方、__le__orに同様の定義を追加すると__ge__、対応するテストは (for __le__) で失敗します。

これは、これが問題に対処する適切な方法ではないと私に信じさせます.

したがって、質問: total_ordering でクラスを並べ替える適切な方法はありますか?

(はい、私はtotal_orderingの仕事を手作業で行うのは些細なことだと知っていますし、この例では unordered を定義することもnamedtuple些細なことだと知っています。)

0 投票する
1 に答える
655 参照

python - 引数を無視するための Python のパーシャルに相当するもの

のpythonに「対応物」はありfunctools.partialますか?

つまり、私が避けたいのは次のように書くことです:

しかし、私が書くときと同じ属性 (keyword-args、nice repr) を保持したいと思います:

それ以外の

このようなものを書くのは非常に簡単であることは知っていますが、引数を無視する標準的な方法がすでにあるのではないかと思っています。

これの一般的なユースケースの 1 つは、Qts のシグナルとスロットです。

0 投票する
5 に答える
26821 参照

python - インスタンスメソッドを使用した Python functools lru_cache: release オブジェクト

functools.lru_cacheメモリをリークせずにクラス内で使用するにはどうすればよいですか?

次の最小限の例ではfoo、スコープ外になり、リファラー ( 以外lru_cache) がないにもかかわらず、インスタンスは解放されません。

しかしfoo、したがってfoo.big(a BigClass) はまだ生きている

つまり、Foo/BigClassインスタンスはまだメモリ内に存在します。削除してもFoo( del Foo)、それらは解放されません。

なぜlru_cacheインスタンスを保持しているのですか? キャッシュは実際のオブジェクトではなくハッシュを使用していませんか?

lru_cacheクラス内で s を使用する推奨される方法は何ですか?

私は 2 つの回避策を知っています: インスタンスごとのキャッシュを使用する、キャッシュがオブジェクトを無視するようにします(ただし、間違った結果につながる可能性があります)。

0 投票する
1 に答える
185 参照

python - 独自の純粋な Python impl よりも functools をインポートする利点は?

私はこのコードを見つけて疑問に思い始めました。単純にインポートを独自の実装に置き換えてみませんか? functools.partial を使用する (パフォーマンス) 利点はありますか? 純粋な Python またはネイティブ コードで実装されていますか?