0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】pydanticのStrictBoolとは?boolとの違いは何?

Posted at

概要

pydanticのStrictBoolを使用してみました。
より厳格に型チェックを行いたいときはこちらの利用が推奨されています。
と言うこt実際に検証!

pydanticのStrictBoolとは?

pydanticのドキュメントには以下のように記載があります。

StrictBool module-attribute
StrictBool = Annotated[bool, Strict()]
A boolean that must be either True or False.
https://docs.pydantic.dev/2.2/api/types/#pydantic.types.StrictBool

必ずTrueからFalseである必要がある、と。

では普通のboolと何が違うのか?

私が実際に検証した限り、10はそれぞれTrueやFalseに変換されない、と言う点が大きな違いと思います。

以下、相違点です。

boolを利用する場合

  • TrueとFalseを受け入れる
  • 以下の値も受け入れ、TrueまたはFalseに変換する
    • 10
    • "1""0"
    • "true""false"

pydanticのStrictBool

  • TrueとFalseを受け入れる
  • 以下の値は受け入れない
    • 10
    • "1""0"
    • "true"や`"false"

ちなみに例えばpydanticのStrictBoolの項目に対して「1」を連携すると、

Input should be a valid boolean

と言うバリデーションエラーになりました。
厳格なチェックが行われていることが分かりました。

以上、それぞれの違いをまとめました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?