Pythonを始めよう

Preview:

Citation preview

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

Recommended