1

pydantic の dataclass デコレータを使用してクラスを作成しましたが、クラスの属性になる前に引数の型を確認したいと考えています。これは私のコードです:

from pydantic.dataclasses import dataclass
from pydantic import validator

@dataclass
class Person(object):
    name: Optional[str] = None

    @validator('name')
    def name_must_be_str(cls, v):
        if type(v) is not str:
            raise TypeError("'name' must be str, not " + type(v).__name__)
        return v

person = Person(12) のようなインスタンスを作成すると、引数も文字列 ('12') になります。インスタンスが引数を文字列にキャストする前に型を確認するにはどうすればよいですか?

4

1 に答える 1