Pythonを始めよう一から始めるPython入門
2017/01/26
吉海 将太
自己紹介
吉海 将太
大学院卒業後にUnity(C#)、Webアプリ(Python, Docker)、Pepperアプリ(Python)の開発に携わる
好きな言葉は「フィジカルが強い」 飼っている亀の名前は、ガメラと亀吉です。
Software Engineer
Kabuku, Inc.
https://www.kabuku.co.jp/
カブクについて
What we doデジタル製造技術をコアテクノロジーとした、ハードウェアとソフトウェアとデザインを融
合したプロダクト・サービス開発を行っています。法人や個人、工場のお客様向けに3Dプリント技術のソリューション提供、デジタルクリエイターが世界で活躍するにあたっての
サポート、産官学連携による先端技術研究等に携わっています。
主なプロダクト
● Rinkak
rinkakは3Dプリントプロダクトの マーケットプレイス
● MMS
3Dプリント製造に必要な機能をクラウドで一元管理できるシステム
Rinkak マーケットプレイス
今回の流れ
● Pythonについて
● Pythonで開発しよう
● Pythonを学ぼう
● 最近のTopic
Pythonについて
Pythonの特徴
● 読みやすい文法
● 直感的なオブジェクト指向
● 手続き型のコードによる、自然な表現
● パッケージの階層化もサポートした、完全なモジュール化サポート
● 例外ベースのエラーハンドリング
● 高レベルな動的データ型
● 拡張とモジュールはC/C++で書くのが容易
● 事実上すべてのタスクをこなせる、広範囲に及ぶ標準ライブラリとサードパーティの
モジュール
● 今最も熱い言語
とてもクリーンで読みやすい文法
Pythonの気になるところ
● 動作速度が遅い
● タブで区切る文法が独特
● 日本語の情報が若干すくない(最近はそうでもない)
Pythonの歴史
名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイ
ソン』
● 1991年 Python 0.90● 2010年7月 Python2.7● 2017年1月 Python3.6
他言語との比較
他言語との比較
他言語との比較
Pythonで開発を始めよう
Python3とPython2今から始めるならPython3がオススメ
Python2は2020年に終了予定!!(結構先^^;)
Python3.6が最新 (Release Date: January 23, 2017)
ただ、一部ライブラリーが2.7系でないと動かないので注意が必要
3と2のコードはだいたい一緒だが、完全互換ではないので後から移行するのは大変
コーディング規約 PEP8Pythonのコードは基本的にpep8に準拠して書きます。
pep8をチェックするツールが提供されておりCIツールでチェックすることが可能です。
下記のような規約があります。
● 1レベルインデントするごとに、スペースを4つ使いましょう。
● すべての行の長さを、最大79文字までに制限しましょう(弊社ではignore)● クラスの名前には通常 CapWords 方式を使うべきです
Python開発環境の構築
ANACONDAがオススメ
主要ライブラリをオールインワンでインストール出来て、すぐに開発に取りかかれます
https://www.continuum.io/downloads
Jupyter Notebookブラウザから使えるインタラクティブシェル
補完、グラフの表示が出来ます。
ちょっとしたことを試すのに便利です。
オススメのIDE
Pycharmの機能
● コード補完
● pep8準拠の警告表示
● Docker連携
● デバッガー、リモートデバッカー
● DjangoやAppEngineのRun● Unittest(カバレッジをPythonファイルの行の色で表示)
● 豊富なplugin(Vim)
ライブラリー
Web系
● Django (フルスタックのフレームワーク)● Flask (マイクロフレームワーク)● requests(Httpのクライアントライブラリー
DeepLearning
● TensorFlow● Caffe● Chainer (日本製!)
ライブラリー
ユニットテスト系
● Nosetest● Pytest (テストのレポートがかなり詳細に表示されて便利)
CIツールとの連携
Jenkins
● PEP8のチェック
● Nosetest
Pythonを学ぼう
オススメの書籍
初心者向け
みんなのPython (表紙がファンシーでかわいい)
中級者向け
Effective Python (必読)
効率的で優れたプログラムはどのように書けばよいのか、を指南。
ベストプラクティス、ヒント、落とし穴の避け方や達人プログラマのコードなどを紹介し、効
果的な優れたPythonプログラムを書くノウハウをまとめています。
Python Japan http://www.python.jp/
● 和訳ドキュメント
● ニュース
● イベント
● 求人情報
● コミュニティ
最近、Slackのチャンネルが出来ました
http://www.python.jp/news/pythonjp_slack.html
カンファレンス
PyCon JPPyCon JPは、Pythonユーザが集まり、PythonやPythonを使ったソフトウェアについて
情報交換、交流をするためのカンファレンスです。
実際に手を動かす (最強)WebアプリでもDeepLearningでも何でもあるPythonなら楽しく学習出来ます!
あとは、コードレビューしてくれる人がいると尚良いです。
最近のTopic
最近、今流行りのTypeHintsが使えるように!
TypeHintsあり
def greeting(name: str) -> str: return 'Hello ' + name
TypeHinstなし
def greeting(name): return 'Hello ' + name
カブクではエンジニアを募集してます!
● サーバーサイドエンジニア
○ Python, Google Cloud Platform● フロントエンドエンジニア
○ TypeScriptやAngular
https://www.kabuku.co.jp/#jobs
Top Related