ジェネレーター/モック関数をレガシーモジュールのメソッドに渡します

シャオ

Pythonでは、私は、レガシーモジュールを持っているUtilslegacy、このような方法を、:

@staticmethod
def legacy(users, some_data, other_data):
    j=0
    for _ in users.keys():
        do_something([{'a': some_data[j], 'b': other_data[j]}])
        j=j+1

私は新しいロジック書いているuserssome_data存在し、other_data存在しませんが。

私ができるように、ジェネレーター/モックメソッドを渡すことを考えています:

Utils.legacy(users, some_data, magic)

{'b': magic[j]}特定のを与えられたセットj

magicusingジェネレーター/モックを実装する方法はありますか?

ノート:

  • レガシーコードは変更できません
  • 上記の単純化された質問はdict、ユーザーのサイズを渡すことで解決できますが、より一般的な解決策を探しています。
チェプナー

必要なのは__getitem__、引数に制約を課さないメソッドを持つクラスだけです

class Foo(object):
    def __getitem__(self, key):
        pass


Utils.legacy(users, some_data, Foo())

交換するpassreturn fooどのようなプレースホルダ要素のためにfooあなたがしたいと思います。

または、考え直して、を使用しますcollections.defaultdict

from collections import defaultdict

Utils.legacy(users, some_data, defaultdict(lambda: None))

(または、他のゼロ引数関数を使用して、代わりにデフォルト値を指定しますlambda: None。)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Kerasジェネレーターをマイモデルの__call__メソッドに渡す

分類Dev

Javascriptの別のモジュールからエクスポートされたジェネレーターに変数を渡す方法はありますか?

分類Dev

Pythonの「フェイカー」モジュールにジェネレーターをシードすると、期待どおりに機能しません

分類Dev

ジェネリックのメソッドでパラメータとしてコレクションクラスを渡すことができません

分類Dev

モジュールで明示的に定義されたメソッド/関数のリストを取得します

分類Dev

クラス/レコードメソッドを外部モジュールにリンクできますか?

分類Dev

オブジェクトをパラメータとしてハンドルバーテンプレートのonclickメソッドに渡します

分類Dev

pytestでモジュールレベルの関数をモックする

分類Dev

ジェネレーター関数を使用したPythonマルチプロセッシングモジュールの使用中にエラーが発生しました。

分類Dev

AngularJSモジュールをモックして別のモジュールに渡します

分類Dev

Visual StudioのC#ジェネリッククラス/メソッドに関数ブレークポイントを設定しますか?

分類Dev

WPFおよびMVVMのモジュール(サブ)ビューモデルに「トリガーメソッド」を提供します

分類Dev

PHPUnit / Phakeを使用してPHPでジェネレーターを返す関数をモックする

分類Dev

モジュール/パッケージ内のJavascriptジェネレーター

分類Dev

クラス内のメソッドをジェネレーターにすることはできますか?

分類Dev

ジェネリック関数をパラメーターとして別の関数に渡す方法は?

分類Dev

ジェネリックパラメーターをメソッドに渡す

分類Dev

別のモジュールにあるクラスのメソッドであるPythonデコレータ

分類Dev

別のモジュールからインポートされたメソッド内にインポートされた関数をモックする方法

分類Dev

リフレクションによって固定ジェネリックパラメーターを持つ親メソッドを取得します

分類Dev

引数として渡され、メソッドでnullに設定されているオブジェクトのガベージコレクション

分類Dev

モジュールメソッドはNoMethodErrorを返します

分類Dev

Rails、モジュールメソッドのモックオブジェクト

分類Dev

ジェネリックス:パラメーター化されたコレクションをListaddAllメソッドに渡してみてください

分類Dev

Visual Studio Code Chromeデバッガーは、Reactのジェネレーター関数内にブレークポイントを設定しません

分類Dev

ジェネリックコレクションを受け入れる関数にデータを渡す

分類Dev

ジェネリックレコードをパラメータとしてTFileStream.Read関数に渡す方法は?

分類Dev

ES6の配列ヘルパーメソッドのイテレーター関数に複数のパラメーターを渡します

分類Dev

エスプレッソのインジェクションモジュールを変更する

Related 関連記事

  1. 1

    Kerasジェネレーターをマイモデルの__call__メソッドに渡す

  2. 2

    Javascriptの別のモジュールからエクスポートされたジェネレーターに変数を渡す方法はありますか?

  3. 3

    Pythonの「フェイカー」モジュールにジェネレーターをシードすると、期待どおりに機能しません

  4. 4

    ジェネリックのメソッドでパラメータとしてコレクションクラスを渡すことができません

  5. 5

    モジュールで明示的に定義されたメソッド/関数のリストを取得します

  6. 6

    クラス/レコードメソッドを外部モジュールにリンクできますか?

  7. 7

    オブジェクトをパラメータとしてハンドルバーテンプレートのonclickメソッドに渡します

  8. 8

    pytestでモジュールレベルの関数をモックする

  9. 9

    ジェネレーター関数を使用したPythonマルチプロセッシングモジュールの使用中にエラーが発生しました。

  10. 10

    AngularJSモジュールをモックして別のモジュールに渡します

  11. 11

    Visual StudioのC#ジェネリッククラス/メソッドに関数ブレークポイントを設定しますか?

  12. 12

    WPFおよびMVVMのモジュール(サブ)ビューモデルに「トリガーメソッド」を提供します

  13. 13

    PHPUnit / Phakeを使用してPHPでジェネレーターを返す関数をモックする

  14. 14

    モジュール/パッケージ内のJavascriptジェネレーター

  15. 15

    クラス内のメソッドをジェネレーターにすることはできますか?

  16. 16

    ジェネリック関数をパラメーターとして別の関数に渡す方法は?

  17. 17

    ジェネリックパラメーターをメソッドに渡す

  18. 18

    別のモジュールにあるクラスのメソッドであるPythonデコレータ

  19. 19

    別のモジュールからインポートされたメソッド内にインポートされた関数をモックする方法

  20. 20

    リフレクションによって固定ジェネリックパラメーターを持つ親メソッドを取得します

  21. 21

    引数として渡され、メソッドでnullに設定されているオブジェクトのガベージコレクション

  22. 22

    モジュールメソッドはNoMethodErrorを返します

  23. 23

    Rails、モジュールメソッドのモックオブジェクト

  24. 24

    ジェネリックス:パラメーター化されたコレクションをListaddAllメソッドに渡してみてください

  25. 25

    Visual Studio Code Chromeデバッガーは、Reactのジェネレーター関数内にブレークポイントを設定しません

  26. 26

    ジェネリックコレクションを受け入れる関数にデータを渡す

  27. 27

    ジェネリックレコードをパラメータとしてTFileStream.Read関数に渡す方法は?

  28. 28

    ES6の配列ヘルパーメソッドのイテレーター関数に複数のパラメーターを渡します

  29. 29

    エスプレッソのインジェクションモジュールを変更する

ホットタグ

アーカイブ