More Related Content
Similar to LLoT ランゲージアップデート Python (20)
Editor's Notes
- 実はPythonのトレンドを話すのはすごい苦手なんです。
仮にPythonのマイナーバージョンを一つ上げても今までどおり何も問題なく動くから。
Python3.4から最新のPython3.5にしても何の問題もない。
でも今回は違います。すごくホットな話題があるんです。
- 型ヒントです
- 実はPython3.2からある構文に則っている
IDEやチェックツール(mypy)のための情報を渡すもの
- * PEP484に準拠すれば作れる https://www.python.org/dev/peps/pep-0484/
* 僕はぶっちゃけそこまで深くは使っていない。軽く書くことはあってもそこまで深くは書いていない。
* docstringに型を明記する代わりに書くくらいで、PyCharm(IntelliJ)が補完してくれてヤッタゼくらい。
* mypyは使っていない。まだまだこれからだと思う。
* ただやっぱり型ヒントやリントでテストを減らせればバンザイだし、型情報を各所が頑張って作ったり高機能なIDEでしか開発できないというのはおかしい
* ちなみにPython3.5のタイプヒントを使ってもPython3.2以上で動作します。追加パッケージ typing をインストールすればそれでよい。すごくない??
- asyncは外部のライブラリーとかがasync対応していないものが多くて使いにくい。(Executorを介して呼べばブロッキング処理も簡単にAsyncにはできる)
ただNode.jsとかのほうが現状は楽。僕は今の仕事で非同期のサービスはNode.jsで書いてます。
行列はNumpyとかように使うらしい。僕はデータ系はあんまりしらない。
- 日経新聞さんにコンサルしたけど、Python3.5で動いている。PyConでも話すらしいよ。
前の受託案件も、今の自社案件もPython3です。バージョン?すぐ上げたほうが逆に楽でしょ
- もう必要ないです。
- pyenvとか使わない。brewとか使わない。
面倒くさいので公式バイナリーを使っていればそれでよい。
- Pythonでパッチバージョン切り替えたい瞬間はゼロです
- マイナーバージョンレベルなら複数入れても問題無いです。Python2.7, 3.4, 3.5とかです。
ローカルで開発するくらいならパッチバージョンとか違いないので全然どうでもいいです。
- Webからデータから機械学習から組み込みから行けるのはやっぱりPythonの良さですし
Pythonのその堅調さが好かれてるんじゃないですかねぇ