Submit Search
Pythonを始めよう
3 likes
589 views
S
shouta yoshikai
https://supporterzcolab.com/event/20/
Engineering
Read more
1 of 57
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
More Related Content
PDF
2017823 pythonを始めよう
shouta yoshikai
PPTX
PyPro2の読みどころ紹介:Python開発の過去と現在
Takayuki Shimizukawa
PDF
Namespace API を用いたマルチテナント型 Web アプリの実践
Takuya Ueda
PDF
粗探しをしてGoのコントリビューターになる方法
Takuya Ueda
PDF
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
PDF
What is "Go" Gopher?
Ryuji Iwata
PDF
GoによるiOSアプリの開発
Takuya Ueda
PDF
Go Friday 傑作選
Takuya Ueda
2017823 pythonを始めよう
shouta yoshikai
PyPro2の読みどころ紹介:Python開発の過去と現在
Takayuki Shimizukawa
Namespace API を用いたマルチテナント型 Web アプリの実践
Takuya Ueda
粗探しをしてGoのコントリビューターになる方法
Takuya Ueda
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
What is "Go" Gopher?
Ryuji Iwata
GoによるiOSアプリの開発
Takuya Ueda
Go Friday 傑作選
Takuya Ueda
What's hot
(20)
PDF
Google Assistant関係のセッションまとめ
Takuya Ueda
PDF
新人教育と(Javaと)Python
7pairs
PDF
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
PDF
Goだけでモバイルアプリを作ろう
Takuya Ueda
PDF
Cloud Functionsの紹介
Takuya Ueda
PDF
Goにおけるバージョン管理の必要性 − vgoについて −
Takuya Ueda
PDF
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
Takuya Ueda
PDF
goパッケージで型情報を用いたソースコード検索を実現する
Takuya Ueda
PDF
Cloud functionsの紹介
Takuya Ueda
PDF
The tale of I and python / Python とのはなし
Takanori Suzuki
PPTX
Bottle使ってPython学習一緒にはじめませんか?
Tatsuya Shinozuka
PPTX
ちょっと真面目にPython&Django・基礎編
OMEGA (@equal_001)
PDF
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
Yusuke Kon
PPTX
Git入門
Masayasu Kawamura
PDF
今時のオンプレなgithubクローン環境構築
You&I
PDF
Effective Python 第2版をオンライン読書会で。
KyutatsuNishiura
PDF
『自走プログラマー』 が我々に必要だった理由
Takayuki Shimizukawa
PDF
WebAssembly with Go
Takuya Ueda
PDF
オススメの標準・準標準パッケージ20選
Takuya Ueda
PDF
過去に自作したGoプロダクトの紹介 - Goオールスターズ
Shogo Ichinose
Google Assistant関係のセッションまとめ
Takuya Ueda
新人教育と(Javaと)Python
7pairs
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
Goだけでモバイルアプリを作ろう
Takuya Ueda
Cloud Functionsの紹介
Takuya Ueda
Goにおけるバージョン管理の必要性 − vgoについて −
Takuya Ueda
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
Takuya Ueda
goパッケージで型情報を用いたソースコード検索を実現する
Takuya Ueda
Cloud functionsの紹介
Takuya Ueda
The tale of I and python / Python とのはなし
Takanori Suzuki
Bottle使ってPython学習一緒にはじめませんか?
Tatsuya Shinozuka
ちょっと真面目にPython&Django・基礎編
OMEGA (@equal_001)
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
Yusuke Kon
Git入門
Masayasu Kawamura
今時のオンプレなgithubクローン環境構築
You&I
Effective Python 第2版をオンライン読書会で。
KyutatsuNishiura
『自走プログラマー』 が我々に必要だった理由
Takayuki Shimizukawa
WebAssembly with Go
Takuya Ueda
オススメの標準・準標準パッケージ20選
Takuya Ueda
過去に自作したGoプロダクトの紹介 - Goオールスターズ
Shogo Ichinose
Ad
Similar to Pythonを始めよう
(9)
PDF
Pythonを始めよう
shouta yoshikai
PDF
Pythonを始めよう
shouta yoshikai
PPTX
2017/12/21 虎の穴 Python勉強会
虎の穴 開発室
PDF
いつまでコードが書けるかとか考えたこともなかった - みんなのPython勉強会 #108
Kioto Hirahara
PPTX
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
ODP
Introduction of Python
Tomoya Nakayama
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
KEY
Hello World Python featuring GAE
Maito Kuwahara
PDF
はじめてのPython
Katsumi Honda
Pythonを始めよう
shouta yoshikai
Pythonを始めよう
shouta yoshikai
2017/12/21 虎の穴 Python勉強会
虎の穴 開発室
いつまでコードが書けるかとか考えたこともなかった - みんなのPython勉強会 #108
Kioto Hirahara
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
Introduction of Python
Tomoya Nakayama
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
Hello World Python featuring GAE
Maito Kuwahara
はじめてのPython
Katsumi Honda
Ad
Pythonを始めよう
2.
自己紹介
3.
自己紹介 吉海 将太 前職でUnity(C#)、Webアプリ(Python, Docker)、Pepperアプリ(Python) の開発に携わりました。 今は、Python、GO、Docker、 Appengine, GCE、GKE、K8Sなど Software
Engineer Kabuku, Inc. https://www.kabuku.co.jp/
4.
自己紹介 Twitterやってます。@yoshikai_ Mastodonは奈良トドンでファイレクシア鹿でやってます https://mastodon.nara.jp 最近以下のイベントで登壇しました Kubernetes Meetup Tokyo
#4 at 2017/04/20 golang.tokyo #5 at 2017/04/27
5.
会社説明
8.
今日のターゲット
9.
今日のターゲット ● Python未経験者 ● Python初心者
10.
今日のゴール
11.
今日のゴール ● Pythonについてざっくり知ってもらう ● 家に帰ったらPythonを触る ●
履歴書にPythonでの開発経験ありとかけるようになる
12.
今回の流れ ● Pythonについて ○ 特徴や他の言語との比較など ●
Pythonを学ぼう ● Pythonで開発しよう ○ 弊社の開発フローを紹介 ● 最近のTopic ● ハンズオン ○ Anaconda 使います ○ 勉強会のページにPython3.5って書いてあるんですが 3.6でも大丈夫です
13.
Pythonについて
14.
Pythonの特徴 ● 読みやすい文法 ● 直感的なオブジェクト指向 ●
手続き型のコードによる、自然な表現 ● パッケージの階層化もサポートした、完全なモジュール化サポート ● 例外ベースのエラーハンドリング ● 高レベルな動的データ型 ● 拡張とモジュールはC/C++で書くのが容易 ● 事実上すべてのタスクをこなせる、広範囲に及ぶ標準ライブラリとサードパーティの モジュール ● 今最も熱い言語
15.
とてもクリーンで読みやすい文法
16.
Pythonの良いところ ● かぎかっこで囲む必要がなかったりと書くの楽 ● 読みやすい ●
何をやるにもモジュールがあるので開発効率が最高
17.
Pythonの気になるところ ● 動作速度が遅い ● タブで区切る文法が独特 ●
日本語の情報が若干すくない(最近はそうでもない) ● Python2とPython3で互換性がない ● 2バイト文字の扱いが微妙(Python2のみ)
18.
他の言語との比較
19.
他言語との比較
20.
他言語との比較
21.
他言語との比較
23.
Python 事例 ● Dropbox ●
Pepper ● Google (App Engine) ● Instagram ● Walt Disney ● NASA
24.
Pythonの使い所 ● Webアプリの開発 ● AI、統計、科学計算 モジュールが豊富で書くのが楽なので、開発スピードが求められる案件に向いている ただ、C++、Goなどと比べて処理速度や動作速度が劣る場合が多いので、高速な処理 速度が必要な箇所はPython以外を使うと良い
25.
Pythonを学ぼう
26.
オススメの書籍 初心者向け みんなのPython 第4版(表紙がファンシーでかわいい) 中級者向け Effective Python
(必読) 効率的で優れたプログラムはどのように書けばよいのか、を指南。 ベストプラクティス、ヒント、落とし穴の避け方や達人プログラマのコードなどを紹介し、効 果的な優れたPythonプログラムを書くノウハウをまとめています。
27.
Python Japan http://www.python.jp/ ●
和訳ドキュメント ● ニュース ● イベント ● 求人情報 ● コミュニティ 最近、Slackのチャンネルが出来ました http://www.python.jp/news/pythonjp_slack.html
28.
公式ドキュメント 日本語 https://docs.python.jp/3/ 英語 https://docs.python.org/3/ 知りたいことがあったらまず公式ドキュメントを読もう!
29.
公式チュートリアル Python チュートリアル https://docs.python.jp/3/tutorial/index.html
30.
カンファレンス PyCon JP PyCon JPは、Pythonユーザが集まり、PythonやPythonを使ったソフトウェアについて 情報交換、交流をするためのカンファレンスです。
32.
実際に手を動かす WebアプリでもDeepLearningでも何でもあるPythonなら楽しく学習出来ます! あとは、コードレビューしてくれる人がいると尚良いです。 例: Webアプリ開発したい! → DjangoやFlask! DeepLearning
! → TensorFlow, Chainer 強化学習 → ChainerRL
33.
Pythonで開発を始めよう
34.
Python3とPython2 今から始めるならPython3がオススメ Python2は2020年に終了予定!!(結構先^^;) 何月何日は未定 ただ、一部ライブラリーが2.7系でないと動かないので注意が必要 3と2のコードはだいたい一緒だが、完全互換ではないので後から移行するのは大変
35.
コーディング規約 PEP8 Pythonのコードは基本的にpep8に準拠して書きます。 pep8をチェックするツールが提供されておりCIツールでチェックすることが可能です。 下記のような規約があります。 ● 1レベルインデントするごとに、スペースを4つ使いましょう。 ●
すべての行の長さを、最大79文字までに制限しましょう(弊社ではignore) ● クラスの名前には通常 CapWords 方式を使うべきです
36.
Python開発環境の構築 ANACONDAがオススメ 主要ライブラリをオールインワンでインストール出来て、すぐに開発に取りかかれます https://www.continuum.io/downloads
37.
Jupyter Notebook ブラウザから使えるインタラクティブシェル 補完、グラフの表示が出来ます。 ちょっとしたことを試すのに便利です。
39.
オススメのIDE
40.
PyCharmの機能 ● コード補完 ● pep8準拠の警告表示 ●
Docker連携 ● デバッカー、リモートデバッカー ● DjangoやAppEngineのRun ● Unittest(カバレッジをPythonファイルの行の色で表示) ● 豊富なplugin(Vim)
41.
PyCharm使った開発 ● PyCharmが指摘してきた箇所を直しながらコードを書く ○ pep8に違反している箇所など 警告が出てる時 問題ないとき 緑になる
42.
ライブラリーの紹介
43.
ライブラリー Web系 ● Django (フルスタックのフレームワーク) ●
Flask (マイクロフレームワーク) ● requests(Httpのクライアントライブラリー DeepLearning ● TensorFlow ● Caffe ● Chainer (日本製!) ● Keras
44.
ライブラリー ユニットテスト系 ● Nosetest (弊社で使ってます) ● Pytest
(テストのレポートがかなり詳細に表示されて便利)
45.
ライブラリーを使う時の注意点 ● 最初に標準ライブラリーで実現出来ないか調べる ○ https://docs.python.jp/3/library/ ○
依存関係を増やさないためにも標準ライブラリーを使おう ● 十分にメンテされているライブラリーか? ○ 十分にテストされているか? ○ 更新が止まっているモジュールでバグを踏むと悲惨 ○ Pythonのバージョンが上がった場合に動かなくなる可能性がある
46.
弊社の開発フロー
47.
弊社の開発フロー ● git-flowで開発 ○ 新規機能をfeature
branchにcommit ○ そのfeature branchをdevelopにマージするプルリクエストを作る ○ プルリクエストに対して ■ CIのチェック ■ 人によるコードレビュー
48.
CI (JenkinsかBitbucet pipeline) 弊社の開発フロー pep8のチェック Unitテスト 開発用のbranchにpush $
pep8 $ nosetest --with-coverage
49.
最近のTopic
50.
今流行りのTypeHintsが使えるように! 関数のアノテーションの例 TypeHintsあり TypeHinstなし def greeting(name): return 'Hello
' + name def greeting(name: str) -> str: return 'Hello ' + name
51.
Release Python 3.7.0a0 リリース日:
2017/05/15 ● 関数に256以上の引数を渡せるように! ● Importエラーが起きた時の表示が分かりやすくなった https://docs.python.org/3.7/whatsnew/3.7.html
52.
おまけ
53.
Pythonの歴史 名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイ ソン』 ●
1991年 Python 0.90 ● 2010年7月 Python2.7 ● 2017年1月 Python3.6
54.
カブクではエンジニアを募集してます! ● サーバーサイドエンジニア ○ Python,
Google Cloud Platform ● フロントエンドエンジニア ○ TypeScriptやAngular https://www.kabuku.co.jp/#jobs
56.
ハンズオン ターミナルで下記のコマンドを入力してjupyter notebookを起動して下さい コマンドを実行したディレクトリにファイルが作れるのでファイルが保存できるディレクトリ で実行して下さい http://localhost:8888 公式チュートリアルの形式ばらない Python
の紹介をやります https://docs.python.jp/3/tutorial/introduction.html $ jupyter notebook
57.
演習問題 FizzBuzz 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わり に「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には 「FizzBuzz」とプリントすること。
Download