業務のためのPython勉強会	
  #3	
Aug.	
  10,	
  2015	
  
阿久津 剛史	
  
1	
私のPython学習奮闘記#3	
  
 〜トラブルシューティング編〜

自己紹介	
•  阿久津 剛史	
  
	
  Twi6er	
  @akucchan_world	
  
•  某メーカー勤務	
  
– 元光通信エンジニア	
  
– 現マーケティング担当	
  
•  Python経験1年弱	
  
– 実務で使うために勉強中	
2
Pythonでやりたいこと	
•  データ分析	
  
•  Webアプリケーション	
  
•  科学技術計算	
  
•  ゲーム制作	
  
•  電子工作(Raspberry	
  PI)	
  
	
  	
  	
  	
  etc.	
  
3
Pythonの生態系	
4	
機械学習	
  
データ分析	
 インタラクティブツール	
科学計算	
グラフ描画	
数値計算	
Webフレームワーク	
ディープラーニング	
  
標準ライブラリ	
  
高機能グラフ
初心者の悩み	
Q1.	
  どこから始めたらよいか、わからない	
  
	
  
Q2.	
  トラブルの解決策がわからない	
  
Q3.	
  モチベーションが続かない	
5
初心者の悩み	
Q1.	
  どこから始めたらよいか、わからない	
  
	
  
Q2.	
  トラブルの解決策がわからない	
  
Q3.	
  モチベーションが続かない	
6
Python学習歴	
7	
2014/7	
 2014/10	
 2015/1	
 2015/4	
 2015/7	
Pythonスタートブック	
中断	
MIT	
  6.00.2x	
MIT	
  6.00.1x	
Start	
  Python	
  Club
基本構文を覚えよう	
  
辻真吾	
  
「Pythonスタートブック」	
  
	
  
•  Pythonのインストール	
  
•  基本構文	
  
•  ファイルの入出力	
  
•  Class(クラス)の基本	
  
•  カメを動かすゲーム	
  
8
MITx:	
  6.00.1x	
  
”IntroducQon	
  to	
  Computer	
  Science	
  and	
  Programming	
  using	
  
Python”	
9	
•  Pythonを使ったComputer	
  Scienceの授業	
  
•  8週間(2ヶ月)のコース、オンラインでスコア評価	
  
•  Pythonのインストールから基本構文、オブジェクト指向プ
ログラミングまでをカバー。	
  
10	
読める! 読めるぞ!!
開発環境を作ろう!	
Pythonプログラミングの編集と実行をする環境を整える	
  
11	
統合型	
•  IDE	
  
•  オールインワン	
  
•  インストーラ	
例:	
  
IDLE,	
  Eclipse,	
  
Canopy,	
  PyCharm,	
  
PyDev,	
  etc.	
  
分離型	
•  エディタ(編集)	
  
•  コンソール(実行)	
エディタ例:	
  
Sublime	
  Text,	
  
Text	
  Wrangler,	
  
Vim,	
  etc.	
  
Canopy	
12	
•  設定が簡単	
•  使いやすいGUI	
  
•  3.x非対応
PyCharm	
13	
•  豊富な機能	
•  プロユースにもOK	
  
•  初心者に	
  
 やさしくない?
Editor	
  x	
  Console	
14	
エディタ(Sublime	
  Text	
  3)	
   コンソール	
  
•  シンプル	
  
•  小回り良し	
  
•  シェルスクリプト	
  
•  パッケージ管理
Q1.	
  学習のてはじめ	
•  基本構文を覚える	
  
– 教科書を一通りやってみる	
  
– オンラインコースの利用もあり	
  
•  開発環境をつくる	
  
– IDEを使うと便利	
  
– Editor	
  x	
  Consoleは小回り効く	
  
– 自分好みの環境を整える	
  
15
初心者の悩み	
Q1.	
  どこから始めたらよいか、わからない	
  
	
  
Q2.	
  トラブルの解決策がわからない	
  
Q3.	
  モチベーションが続かない	
16
エラー発生!	
17
Google先生に聞こう	
18	
警告文をコピペして検索
Stack	
  Over	
  Flow	
19	
A.	
  Python	
  3.xでは “import	
  h6p.server”	
ほとんどのケースは先例がある
DocumentaQonを読もう	
•  必要な部分だけで十分	
  
•  試しに実行	
   20	
1.	
  
関係するパッケージの
DocumentaQonサイトへGo	
2.	
  
知らないコマンドを調べる	
  
知っている人に聞こう	
•  先生になってくれる人を探す	
  
– 職場・学校の先生・同僚・友人	
  
– 勉強会で知り合った人	
  
•  コミュニケーション手段	
  
– Face	
  to	
  Face	
  
– メール	
  
– メッセンジャーアプリ	
21
22	
h6p://slack.com	
•  メッセンジャーアプリ	
  
•  ファイル、プログラムの受け渡しが可能	
  
ある日のSlackスレッド	
23
Q2.	
  トラブルの解決策	
•  Webを活用する	
  
– Google先生	
  
– Stackoverflow	
  
– 各種DocumentaQon	
  
•  師や仲間を得る	
  
– もっとも実用的な手段	
  
– 悩みを共有できる	
  
– コミュニケーション手段もいろいろ	
  
24
初心者の悩み	
Q1.	
  どこから始めたらよいか、わからない	
  
	
  
Q2.	
  トラブルの解決策がわからない	
  
Q3.	
  モチベーションが続かない	
25
まずいパターン	
26	
プログラミングやるぞ!	
  
ダラダラ、ズルズル・・・	
  
全然、できませ〜ん・・・orz	
あれ、なんかわからない・・・	
  
どうしても作りたい物があるか?	
27	
ブログ:	
  “Fumi’2	
  Travelog”	
•  2012年5月3日記事	
  
•  SXSW2012におけるWestheimer氏の講演の紹介
「コードの書き方を勉強して、自分が作りたいソフトウェアを
作れるようになろう」	
  
•  コードを書けるようになる人とそうでない人の違いは、
「コードの書き方を勉強したか勉強しなかったか」ではなく、
「どうしても作りたい物があるかどうか」。	
山崎富美さん(Google)	
  @Fumi	
  
h6p://fumit.blogspot.jp/2012/05/learn-­‐to-­‐code-­‐python-­‐gtuggirls.html
28	
h6p://blog.sitedart.net/bid/306384/Business-­‐MoQvaQon
Udacity	
  
	
  “Programming	
  FoundaQons	
  with	
  Python”	
29	
h6ps://www.udacity.com/course/programming-­‐foundaQons-­‐with-­‐python-­‐-­‐ud036	
•  Pythonの超入門コース	
  
•  陽気なおにいさんが楽しく教えてくれる	
  
Webアプリの制作	
30
Fresh	
  Tomatoes	
  Movie	
  Trailers	
31
Learning	
  by	
  Doing	
最近の課題	
  
•  「実践機械学習システム」	
  
•  scikit-­‐learn	
  
32	
手を動かす!	
  
•  できないと辛い	
  
•  できると楽しい
Q3.	
  モチベーションの維持	
•  自分が作りたいものをイメージ	
  
–  Webアプリ、ゲーム、工作系、etc.	
  
•  Learning	
  by	
  Doing	
  
–  トラブルはつきもの	
  
–  楽しみながら学ぶ	
  
•  師や仲間を得る	
  
–  お互いに助け合う	
  
33
まとめ	
•  Q1. 学習のてはじめ	
  
– 基本構文	
  
– 開発環境の整備	
  
•  Q2. トラブル解決策	
  
– Webの活用	
  
– 先生・仲間の獲得	
  
•  Q3. モチベーションの維持	
  
– 作るもののイメージ	
  
– Learning	
  by	
  Doing	
  
34

S03 t1 python_learningdiary#3