2

クラスフィールドのタイプを指定できる新dataclass機能を使用しています。Python3この例では、field2 は List[int] 型である必要があり、List[str] をそれに渡しました。このコードは失敗せずに実行されます。間違った型がクラスに渡された場合にコードを失敗させる (つまり、アサートなどを使用する) (自動) 方法があるかどうか疑問に思っています。

from dataclasses import *
import typing
@dataclass
class C:
    field1: str
    field2: typing.List[int]

if __name__ == '__main__':
    x = C('a',['a','b'])
    print(repr(x))
4

1 に答える 1