Upgrade to Pro — share decks privately, control downloads, hide ads and more …

pydanticの紹介

mizzsugar
February 13, 2020

 pydanticの紹介

mizzsugar

February 13, 2020
Tweet

More Decks by mizzsugar

Other Decks in Programming

Transcript

  1. お前、誰よ • Twitter : @mizzsugar0425 • 仕事:データ分析基盤の開発、運用 ◦ GCP, BigQuery

    • 前の仕事はDjango。今でも追いかけてる。 • 趣味:PythonでWeb開発 ◦ Pyramid, Nuxt.js, TypeScript, PostgreSQL • 2/29にPyCon mini Shizuokaに登壇予定 ◦ unittest.mockの話です • ゆるく転職活動 ◦ 面接中に水をガブガブ飲む人間でも良いという企業様、ぜひ
  2. 基本的な書き方 external_data = { 'name': 'chocolate', 'price': 500 } try:

    item = Item(**external_data) except ValueError e: e.json() # エラー内容が返される
  3. まるでオブジェクトを扱うよう class User(pydantic.BaseModel): name: str birthday: datetime.date friends: List[int] favorite_color:

    Optional[str] int, str, List, Optional, datetime… などわりと使う型はサポートされている
  4. 快く使うために: mypy pluginのページは読んでね error: Module 'pydantic' has no attribute 'BaseModel'

    [attr-defined] ↑mypy から注意されたけど ドキュメントのmypy pluginの設定を追加したら解消されたので 良く読もう https://pydantic-docs.helpmanual.io/mypy_plugin/