SlideShare a Scribd company logo
1 of 30
Pythonの今、ぶっちゃけ
@hirokiky
Type Hinting
型ヒント
• Python標準で型を明記できる
• Python自体は制約を与えない
typing モジュール
typing
• Python3.5で追加された
• 他Union, List, Iterable, Callableなど
hirokikyです
• 業務でPython4年、のべで6年くらい
• Python,Webでアーキテクト、コンサル、製品
ぶっちゃけお前どうなの
• ぶっちゃけtypingで複雑には書いてない
• ドキュメントついでに書いてPycharmで補完
• テストには組み込んでいない
ぶっちゃけヒントじゃん
• たしかにPython3.5のtypingはただのヒント
• Python3.2〜の互換性保ちつつ使えるってすごくない
• 3.2~3.4ではpip install typingをすれば良い
他Python3.5
• async (async def, async for…), await構文
• 行列計算演算子 @
Python3使ってんの?
はい
僕ここ3年Python3だけ
Python2,3議論は終わった
• Python3に対応していないライブラリーはない
• 2,3議論よりも黙ってサッサと移行しろフェーズ
環境まわり
• pipが標準でインストールされる
• pyvenvも標準でインストールされる
Python黒歴史
• easy_install pip
• pip install …
ぶっちゃけどうやってんの
?
• 公式Macバイナリーしか使わない
• 標準のpip, pyvenv
• あとはDocker
公式バイナリーが良い
python.org
パッチバージョン何でも良
い
周辺の話
Pythonってデータ系多
い?
数えてみました
• PyConJP 2016のトーク応募 121 件
• データ、サイエンス、機械学習系のトーク応募
数
• 全121件中 33 件。27%くらい
同・実際の科学系発表数
• PyCon JP 2014: 8トーク / 36
• PyCon JP 2015: 11トーク / 32
• PyCon JP 2016: 10トーク / 47
正直僕はよく知らない
けどたまに遊ぶと楽しい
pyhackってイベントに
行くと「増えてるなぁ
」
Django
• Postgreの全文検索に対応
• Templateエンジンの切替ができる
• マイグレーションもDjangoだけでできる
• 日本語翻訳がdjangoproject.comに取り込み
以上

More Related Content

What's hot

Twitterでネットストーカーをしよう
TwitterでネットストーカーをしようTwitterでネットストーカーをしよう
Twitterでネットストーカーをしよう
よしだ あつし
 
簡易TRPG向けチャットツールOnset!
簡易TRPG向けチャットツールOnset!簡易TRPG向けチャットツールOnset!
簡易TRPG向けチャットツールOnset!
kiridaruma
 
Lt python腕試しネタ
Lt python腕試しネタLt python腕試しネタ
Lt python腕試しネタ
kiwofusi
 
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Masato Fujitake
 
Rust samurai lightning talk
Rust samurai lightning talkRust samurai lightning talk
Rust samurai lightning talk
Naruto TAKAHASHI
 
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyPerlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
azuma satoshi
 
Miyazakirb vol0 lt
Miyazakirb vol0 ltMiyazakirb vol0 lt
Miyazakirb vol0 lt
cocoa_dahlia
 

What's hot (20)

Twitterでネットストーカーをしよう
TwitterでネットストーカーをしようTwitterでネットストーカーをしよう
Twitterでネットストーカーをしよう
 
C-HelperでC言語を効率的に学習しよう
C-HelperでC言語を効率的に学習しようC-HelperでC言語を効率的に学習しよう
C-HelperでC言語を効率的に学習しよう
 
Rでを作る
Rでを作るRでを作る
Rでを作る
 
PythonでPodcastを聴く
PythonでPodcastを聴くPythonでPodcastを聴く
PythonでPodcastを聴く
 
簡易TRPG向けチャットツールOnset!
簡易TRPG向けチャットツールOnset!簡易TRPG向けチャットツールOnset!
簡易TRPG向けチャットツールOnset!
 
Lt python腕試しネタ
Lt python腕試しネタLt python腕試しネタ
Lt python腕試しネタ
 
過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望
過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望
過去2回の登壇内容からのPython×ドローンの進化アップデート内容と今後について展望
 
Php Lt 20080316
Php Lt 20080316Php Lt 20080316
Php Lt 20080316
 
Pythonで自動化した話1
Pythonで自動化した話1Pythonで自動化した話1
Pythonで自動化した話1
 
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
 
Fluent Feature in F#
Fluent Feature in F#Fluent Feature in F#
Fluent Feature in F#
 
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたC#erがF#に這い寄ってみた
C#erがF#に這い寄ってみた
 
Python×ドローンについて過去のPyConJP登壇から今までの進化。
Python×ドローンについて過去のPyConJP登壇から今までの進化。Python×ドローンについて過去のPyConJP登壇から今までの進化。
Python×ドローンについて過去のPyConJP登壇から今までの進化。
 
PyLadies Tokyo 二周年記念パーティ LT
PyLadies Tokyo 二周年記念パーティ LTPyLadies Tokyo 二周年記念パーティ LT
PyLadies Tokyo 二周年記念パーティ LT
 
Codereatreat in KIT
Codereatreat in KITCodereatreat in KIT
Codereatreat in KIT
 
Rust samurai lightning talk
Rust samurai lightning talkRust samurai lightning talk
Rust samurai lightning talk
 
May python prevail everyone
May python prevail everyoneMay python prevail everyone
May python prevail everyone
 
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyPerlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
 
Php kansai-2013 lt-slide
Php kansai-2013 lt-slidePhp kansai-2013 lt-slide
Php kansai-2013 lt-slide
 
Miyazakirb vol0 lt
Miyazakirb vol0 ltMiyazakirb vol0 lt
Miyazakirb vol0 lt
 

Similar to LLoT ランゲージアップデート Python

次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
 

Similar to LLoT ランゲージアップデート Python (20)

PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
 
Pyladies tokyo 20150123
Pyladies tokyo 20150123Pyladies tokyo 20150123
Pyladies tokyo 20150123
 
mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応
 
PythonのインストールからHello Worldまで
PythonのインストールからHello WorldまでPythonのインストールからHello Worldまで
PythonのインストールからHello Worldまで
 
PypeRで実験と分析を一本化する
PypeRで実験と分析を一本化するPypeRで実験と分析を一本化する
PypeRで実験と分析を一本化する
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
 
万年ビギナーによるPythonプログラミングのリハビリ計画
万年ビギナーによるPythonプログラミングのリハビリ計画万年ビギナーによるPythonプログラミングのリハビリ計画
万年ビギナーによるPythonプログラミングのリハビリ計画
 
(python)勉強会のすすめ
(python)勉強会のすすめ(python)勉強会のすすめ
(python)勉強会のすすめ
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッションPyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
Pythonコミュニティが私に与えてくれたもの
Pythonコミュニティが私に与えてくれたものPythonコミュニティが私に与えてくれたもの
Pythonコミュニティが私に与えてくれたもの
 
Pythonのすすめ
PythonのすすめPythonのすすめ
Pythonのすすめ
 
OSS Study#19_LT
OSS Study#19_LTOSS Study#19_LT
OSS Study#19_LT
 
The tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしThe tale of I and python / Python とのはなし
The tale of I and python / Python とのはなし
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
 
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
 
Rでダイエット
RでダイエットRでダイエット
Rでダイエット
 
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみるPHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみる
 

More from hirokiky

My pyhack 1301
My pyhack 1301My pyhack 1301
My pyhack 1301
hirokiky
 

More from hirokiky (18)

簡単な算数でできる文章校正
簡単な算数でできる文章校正簡単な算数でできる文章校正
簡単な算数でできる文章校正
 
エンジニアが起業のアイディアを見つける方法
エンジニアが起業のアイディアを見つける方法エンジニアが起業のアイディアを見つける方法
エンジニアが起業のアイディアを見つける方法
 
それ、公開しちゃおうよ - みんなのPython勉強会63登壇
それ、公開しちゃおうよ - みんなのPython勉強会63登壇それ、公開しちゃおうよ - みんなのPython勉強会63登壇
それ、公開しちゃおうよ - みんなのPython勉強会63登壇
 
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
 
営業も広報もいない僕たちが11年間やってきたこと
営業も広報もいない僕たちが11年間やってきたこと営業も広報もいない僕たちが11年間やってきたこと
営業も広報もいない僕たちが11年間やってきたこと
 
How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015
 
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
 
Pycon2014 django performance
Pycon2014 django performancePycon2014 django performance
Pycon2014 django performance
 
gargant.dispatch, a flexible dispatcher for WSGI
gargant.dispatch, a flexible dispatcher for WSGIgargant.dispatch, a flexible dispatcher for WSGI
gargant.dispatch, a flexible dispatcher for WSGI
 
Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
 
軽量のススメ
軽量のススメ軽量のススメ
軽量のススメ
 
django-websettingsの紹介
django-websettingsの紹介django-websettingsの紹介
django-websettingsの紹介
 
pyramid_layoutと僕と、ときどきzope.interface
pyramid_layoutと僕と、ときどきzope.interfacepyramid_layoutと僕と、ときどきzope.interface
pyramid_layoutと僕と、ときどきzope.interface
 
My pyhack 1301
My pyhack 1301My pyhack 1301
My pyhack 1301
 
Useful Django 1.4
Useful Django 1.4Useful Django 1.4
Useful Django 1.4
 
使えるDjango1.4
使えるDjango1.4使えるDjango1.4
使えるDjango1.4
 
個人の嗜好を学習し記事を推奨するフィードリーダ
個人の嗜好を学習し記事を推奨するフィードリーダ個人の嗜好を学習し記事を推奨するフィードリーダ
個人の嗜好を学習し記事を推奨するフィードリーダ
 
卒研中間発表資料:個人に最適化したフィードリーダの構築
卒研中間発表資料:個人に最適化したフィードリーダの構築卒研中間発表資料:個人に最適化したフィードリーダの構築
卒研中間発表資料:個人に最適化したフィードリーダの構築
 

Recently uploaded

Recently uploaded (12)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

LLoT ランゲージアップデート Python

Editor's Notes

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