パラメータがオプションではないことをMyPyに伝えるにはどうすればよいですか?

ジェイミーブル

オブジェクトsrcとオプションのオブジェクトがありますdestdest関数に渡されない場合、新しい関数MyObjが作成され、別の関数に渡されます。

mypy==0.610これを使用することは私に与えています:

エラー:「copy_data」の引数2に互換性のないタイプ「Optional [MyObj]」があります。期待される「MyObj」

関数でdestオプションではないMyPyにどのように伝えるのcopy_dataですか?

from typing import Optional


class MyObj(object):
    def __init__(self, name):
        self.name = name

def new_obj(name):
    # type (str) -> MyObj
    return MyObj(name=name)

def copy_stuff(src, dest=None, fname=None):
    # type: (MyObj, Optional[MyObj], Optional[str]) -> MyObj
    if not dest:
        dest = new_obj(fname)
    my_obj = copy_data(src, dest)
    return my_obj

def copy_data(src, dest):
    # type: (MyObj, MyObj) -> MyObj
    return dest
ethanhs

ここでのエラーはにありnew_objます。タイプコメントにコロンがありません。reveal_typeはあなたのMVEにいくつかを入れることによってこれを理解しました

def new_obj(name):
    # type (str) -> MyObj
    #     ^ ERROR is here
    return MyObj(name=name)

def copy_stuff(src, dest=None, fname=None):
    # type: (MyObj, Optional[MyObj], Optional[str]) -> MyObj
    reveal_type(new_obj)  # E: Revealed type is 'def (name: Any) -> Any'
    if not dest:
        reveal_type(dest)  # Optional[MyObj]
        dest = new_obj(fname)
        reveal_type(dest)  # Optional[MyObj]
    my_obj = copy_data(src, dest)
    return my_obj

Mypyは、をOptional[MyObj]返す関数から割り当てられたときに型を保持しているようAnyです。タイプコメントを修正すると、期待どおりに機能します。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

オプションのパラメータが必要になるにはどうすればよいですか?

分類Dev

「アプリケーションがパラメータを受け取らない」というメッセージが表示されるのはなぜですか。これを修正するにはどうすればよいですか。

分類Dev

オプションのDateTimeパラメータを作成するにはどうすればよいですか?

分類Dev

定義されていない構造体があることをコンパイラに伝えるにはどうすればよいですか?

分類Dev

コードを最適化してはならないことをCコンパイラに「伝える」にはどうすればよいですか?

分類Dev

C ++でいくつかのオプションパラメータとして関数を実装するにはどうすればよいですか?

分類Dev

GraphQL .NETで、クエリがオプションのパラメーターを取ることができるように指定するにはどうすればよいですか?

分類Dev

ドキュメントコレクションがどこにあるかをsolrに伝えるにはどうすればよいですか?

分類Dev

ドキュメントコレクションがどこにあるかをsolrに伝えるにはどうすればよいですか?

分類Dev

Swiftで可変個引数(省略記号)パラメーターをオプションとして指定するにはどうすればよいですか?

分類Dev

パラメータがnullでない場合、関数がnullを返さないことをkotlinに伝えるにはどうすればよいですか?

分類Dev

オプションの欠落しているパラメーターでエラーを表示するにはどうすればよいですか?

分類Dev

オプションの欠落しているパラメーターでエラーを表示するにはどうすればよいですか?

分類Dev

オプションのパラメータのデフォルトとしてDateTime.Now.Yearを使用するにはどうすればよいですか?

分類Dev

オプションでいくつかのフォームクエリパラメータを削除するにはどうすればよいですか?

分類Dev

React Native-ActionSheetIOSオプションパラメーターでexcludedActivityTypesプロパティを使用するにはどうすればよいですか?

分類Dev

オプションのパラメーターを使用してコンストラクターを作成するにはどうすればよいですか?

分類Dev

リンクが無効になっていることをスクリーンリーダーに伝えるにはどうすればよいですか

分類Dev

別のファイルに何かが存在することをClosureコンパイラに伝えるにはどうすればよいですか?

分類Dev

この場合、オプションのパラメータにアクセスするにはどうすればよいですか?

分類Dev

それぞれがオプションであり、各パラメーターに使用可能な値を持つ2つのパラメーターを実装するにはどうすればよいですか?

分類Dev

条件が保証されていることをmypyに伝えるにはどうすればよいですか?

分類Dev

パターンにオプション部分を定義するにはどうすればよいですか?

分類Dev

LUMENのルートにオプションとして2番目のパラメーターを渡すにはどうすればよいですか?

分類Dev

OpenAPI 3.0で2つのオプションパラメータを使用してパスを定義するにはどうすればよいですか?

分類Dev

SSRSレポートのオプションのパラメータに対応するWHERE句を作成するにはどうすればよいですか?

分類Dev

他のすべての必須/オプションのパラメーター(存在する場合)をデフォルト値と同じに保つことによって、オプションのパラメーターのみをPHP関数に渡すにはどうすればよいですか?

分類Dev

プロットが完了したことをmatplotlibに伝えるにはどうすればよいですか?

分類Dev

Angular 2-Typescriptでオプションのクラスパラメーターを設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    オプションのパラメータが必要になるにはどうすればよいですか?

  2. 2

    「アプリケーションがパラメータを受け取らない」というメッセージが表示されるのはなぜですか。これを修正するにはどうすればよいですか。

  3. 3

    オプションのDateTimeパラメータを作成するにはどうすればよいですか?

  4. 4

    定義されていない構造体があることをコンパイラに伝えるにはどうすればよいですか?

  5. 5

    コードを最適化してはならないことをCコンパイラに「伝える」にはどうすればよいですか?

  6. 6

    C ++でいくつかのオプションパラメータとして関数を実装するにはどうすればよいですか?

  7. 7

    GraphQL .NETで、クエリがオプションのパラメーターを取ることができるように指定するにはどうすればよいですか?

  8. 8

    ドキュメントコレクションがどこにあるかをsolrに伝えるにはどうすればよいですか?

  9. 9

    ドキュメントコレクションがどこにあるかをsolrに伝えるにはどうすればよいですか?

  10. 10

    Swiftで可変個引数(省略記号)パラメーターをオプションとして指定するにはどうすればよいですか?

  11. 11

    パラメータがnullでない場合、関数がnullを返さないことをkotlinに伝えるにはどうすればよいですか?

  12. 12

    オプションの欠落しているパラメーターでエラーを表示するにはどうすればよいですか?

  13. 13

    オプションの欠落しているパラメーターでエラーを表示するにはどうすればよいですか?

  14. 14

    オプションのパラメータのデフォルトとしてDateTime.Now.Yearを使用するにはどうすればよいですか?

  15. 15

    オプションでいくつかのフォームクエリパラメータを削除するにはどうすればよいですか?

  16. 16

    React Native-ActionSheetIOSオプションパラメーターでexcludedActivityTypesプロパティを使用するにはどうすればよいですか?

  17. 17

    オプションのパラメーターを使用してコンストラクターを作成するにはどうすればよいですか?

  18. 18

    リンクが無効になっていることをスクリーンリーダーに伝えるにはどうすればよいですか

  19. 19

    別のファイルに何かが存在することをClosureコンパイラに伝えるにはどうすればよいですか?

  20. 20

    この場合、オプションのパラメータにアクセスするにはどうすればよいですか?

  21. 21

    それぞれがオプションであり、各パラメーターに使用可能な値を持つ2つのパラメーターを実装するにはどうすればよいですか?

  22. 22

    条件が保証されていることをmypyに伝えるにはどうすればよいですか?

  23. 23

    パターンにオプション部分を定義するにはどうすればよいですか?

  24. 24

    LUMENのルートにオプションとして2番目のパラメーターを渡すにはどうすればよいですか?

  25. 25

    OpenAPI 3.0で2つのオプションパラメータを使用してパスを定義するにはどうすればよいですか?

  26. 26

    SSRSレポートのオプションのパラメータに対応するWHERE句を作成するにはどうすればよいですか?

  27. 27

    他のすべての必須/オプションのパラメーター(存在する場合)をデフォルト値と同じに保つことによって、オプションのパラメーターのみをPHP関数に渡すにはどうすればよいですか?

  28. 28

    プロットが完了したことをmatplotlibに伝えるにはどうすればよいですか?

  29. 29

    Angular 2-Typescriptでオプションのクラスパラメーターを設定するにはどうすればよいですか?

ホットタグ

アーカイブ