Submit Search
dataclassとtypehintを使ってますか?
1 like
1,424 views
Atsushi Hayakawa
dataclassとtypehintを使ってますか?
Technology
Read more
1 of 18
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
More Related Content
PPTX
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)
Shigenori Ueda
ODP
課題 (第三回)
Paweł Rusin
PPTX
Python3のデータクラスについて
iPride Co., Ltd.
PPTX
Python3のデータクラスについて
iPride Co., Ltd.
PDF
ドキュメントなんとかしたい
Shingo Tamaki
PPTX
Macで開発環境を整える170420
Toshiyuki Shimono
PDF
Python と型ヒント (Type Hints)
Tetsuya Morimoto
PPTX
Pythonでも型をつけたいだけの人生だった
hiroya akita
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)
Shigenori Ueda
課題 (第三回)
Paweł Rusin
Python3のデータクラスについて
iPride Co., Ltd.
Python3のデータクラスについて
iPride Co., Ltd.
ドキュメントなんとかしたい
Shingo Tamaki
Macで開発環境を整える170420
Toshiyuki Shimono
Python と型ヒント (Type Hints)
Tetsuya Morimoto
Pythonでも型をつけたいだけの人生だった
hiroya akita
More from Atsushi Hayakawa
(20)
PDF
tidyverse.orgの翻訳
Atsushi Hayakawa
PDF
Zepp play soccerで測ってみた
Atsushi Hayakawa
PDF
トライアスロンとgepuro task views V2.0 Japan.R 2018
Atsushi Hayakawa
PPTX
バンクーバー旅行記
Atsushi Hayakawa
PPTX
Analyze The Community Of Tokyo.R
Atsushi Hayakawa
PPTX
Visual Studio CodeでRを使う
Atsushi Hayakawa
PDF
トライアスロンと僕 - Japan.R 2017
Atsushi Hayakawa
PDF
simputatoinで欠損値補完 - Tokyo.R #65
Atsushi Hayakawa
PDF
useR!2017 in Brussels
Atsushi Hayakawa
PPTX
Japan.R 2016の運営
Atsushi Hayakawa
PPTX
Rstudio上でのパッケージインストールを便利にするaddin4githubinstall
Atsushi Hayakawa
PDF
統計的学習の基礎 4.4~
Atsushi Hayakawa
PDF
Splatoon界での壮絶な戦い&Japan.Rの宣伝
Atsushi Hayakawa
PDF
最近のクラウドストレージの事情と私情
Atsushi Hayakawa
PDF
gepuro task views
Atsushi Hayakawa
PDF
nginxのログを非スケーラブルに省メモリな方法で蓄積する
Atsushi Hayakawa
PDF
implyを用いたアクセスログの可視化
Atsushi Hayakawa
PDF
イケてる分析基盤をつくる
Atsushi Hayakawa
PDF
らずぱいラジコン
Atsushi Hayakawa
PDF
らずぱいカー
Atsushi Hayakawa
tidyverse.orgの翻訳
Atsushi Hayakawa
Zepp play soccerで測ってみた
Atsushi Hayakawa
トライアスロンとgepuro task views V2.0 Japan.R 2018
Atsushi Hayakawa
バンクーバー旅行記
Atsushi Hayakawa
Analyze The Community Of Tokyo.R
Atsushi Hayakawa
Visual Studio CodeでRを使う
Atsushi Hayakawa
トライアスロンと僕 - Japan.R 2017
Atsushi Hayakawa
simputatoinで欠損値補完 - Tokyo.R #65
Atsushi Hayakawa
useR!2017 in Brussels
Atsushi Hayakawa
Japan.R 2016の運営
Atsushi Hayakawa
Rstudio上でのパッケージインストールを便利にするaddin4githubinstall
Atsushi Hayakawa
統計的学習の基礎 4.4~
Atsushi Hayakawa
Splatoon界での壮絶な戦い&Japan.Rの宣伝
Atsushi Hayakawa
最近のクラウドストレージの事情と私情
Atsushi Hayakawa
gepuro task views
Atsushi Hayakawa
nginxのログを非スケーラブルに省メモリな方法で蓄積する
Atsushi Hayakawa
implyを用いたアクセスログの可視化
Atsushi Hayakawa
イケてる分析基盤をつくる
Atsushi Hayakawa
らずぱいラジコン
Atsushi Hayakawa
らずぱいカー
Atsushi Hayakawa
Ad
dataclassとtypehintを使ってますか?
1.
dataclassとtypehint を使ってますか? ビール片手にLT大会 vol.3 (at WeWork日比谷) 1
2.
自己紹介 2
3.
• BtoBマーケティングプラット フォームのデータ分析、開発をし ています • 最近の勉強テーマ はやかわ
あつし @gepuro 3
4.
著書 • 次は何を書こうかな? 4
5.
typehint 5
6.
マウスを当てると型が表示される コーディングを助ける • 補完でコードを書きやすくなる 6 変数に型をつける def main(hoge:
str): print(hoge)
7.
dataclass 7
8.
• dataclassデコレータをつける • クラス変数でフィールドを定義 データを格納するためのクラス 8 Python3.7から使えます import
dataclasses @dataclasses.dataclass class FrozenData: hoge: str
9.
__init__を自動で定義 9 class FrozenData: def __init__(self,
hoge: str): self.hoge = hoge @dataclasses.dataclass class FrozenData: hoge: str
10.
frozenでイミュータブルに • frozen=Trueとすれば、クラス変 数を処理途中で変更できなくなる • 意図しない変更を防げる 10 @dataclasses.dataclass(frozen=True) class
FrozenData: hoge: str
11.
Pythonあるある 11
12.
どんな引数か不明 • Hogeは文字列?数字? • もしかして、辞書型では? 12 def
main(hoge): print(hoge)
13.
辞書型の混沌 • key2は定義済みなのでは? • hogeはkey2以外のキーを持つ? •
辞書型が便利すぎて、全体の見通 しが徐々に悪くなる 13 def main(hoge): hoge["key2"] = 1 return hoge
14.
KeyError頻発 14 辞書型が持つキーが分からない問題 if __name__ ==
"__main__": hoge = {} print(hoge["key1"])
15.
typehint + dataclass 15
16.
引数に透明性を 16 import dataclasses @dataclasses.dataclass(frozen=True) class FrozenData: hoge:
str def main(frozenData: FrozenData): print(frozenData) if __name__ == "__main__": fronzenData = FrozenData(hoge="hoge") main(fronzenData)
17.
KeyValueErrorの不安なし 17 hogeという変数を持つことが補完で分かる
18.
引数に辞書型を使うの辞めよう • dataclassで補完しやすい • イミュータブルで綺麗さを保つ •
辞書型のKeyErrorが起きなくなる 18
Download