Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Pythonでプログラムを作ろう!
辻 真吾	
  
@tsjshg	
  
自己紹介
•  辻真吾(1975年8月生まれ)	
  
•  今は、東大先端研で働いてます	
  
–  生命情報(特にがん)のデータ解析	
  
•  Pythonスタートブック(技術評論社)	
  
•  プログラム言語	
  
–  BASIC/Logo	
  小学生の時	
  
–  C/C++   大学生の時	
  
–  Java,	
  SQL 	
  ITベンチャー時代	
  
–  Python  	
  20代の終わりから 	
  
The	
  RedMonk	
  programming	
  language	
  ranking(2015.1)
http://redmonk.com/sogrady/2015/01/14/language-­‐rankings-­‐1-­‐15/
Zen	
  of	
  Python
•  import	
  this	
  
–  There	
  should	
  be	
  one-­‐-­‐	
  and	
  preferably	
  only	
  one	
  -­‐-­‐
obvious	
  way	
  to	
  do	
  it.	
  
•  Battery	
  included	
  
–  豊富な標準ライブラリ	
  
•  初心者にやさしい	
  
–  プログラミング経験者も書くのが楽	
  
•  https://www.python.org	
  
–  本家のサイト	
  
•  http://www.python.jp	
  
–  ドキュメントの日本語訳も豊富	
  
Guido	
  van	
  Rossum
2	
  or	
  3?
•  これから始めるなら、3	
  
•  何か理由があるなら、2.7	
  
•  http://python3wos.appspot.com	
  
– 外部ライブラリの対応状況を一目で見られる
サイト	
  
– ほとんど対応済み	
  
•  Python3	
  
– デフォルトの文字コードがUTF-­‐8	
  
•  MacOSXとの相性も抜群	
  
フェアに
•  遅いでしょ?	
  
– 軽量言語ですから、もちろん書きやすさ優先	
  
– 数値計算では、for文を使わない	
  
– NumbaなどJITコンパイラもある	
  
•  なんで2と3互換性ないの?	
  
– 痛い! さらなる進化のため(だと思う)	
  
– 文字列の扱いなど、やっぱり互換性を捨てて
まで3を作った理由はある	
  
•  これからは関数型言語でしょ?	
  
– 8月号のSoftwareDesignに記事を書く予定	
  
なんと言ってもデータ解析
•  データ解析におすすめの外部ライブラリ	
  
–  Numpy,	
  Scipy	
  
•  強力な行列演算や、基本的な統計関数などを収録	
  
–  Matplotlib	
  
•  Matlabの文法に似た書き方で、データの可視化ができ
る	
  
•  強力すぎて、ちょっと使いにくい(でも好き)	
  
–  Pandas	
  
•  超高性能な数値データを扱うためのライブラリ	
  
•  私にエクセルを使うのを止めることを決意させた	
  
–  Ipython	
  
•  Pythonインタラクティブシェルの強化版	
  
•  Notebookと呼ばれるWebブラウザ経由の機能がすごい
インストールするの面倒でしょ?
ヒューストンに本拠地を置く、CONTINUUM社が無料で配布	
  
数値計算系のライブラリはほとんど入っているので、手軽でおすすめ	
  
(もちろん3対応)
データ解析以外で
Pythonで作られたドキュメント作成ツール	
  
比較的簡単なrst形式で原稿を書くと、綺麗にHTML化してくれる。	
  
(PDFやePub形式にもなる)
私の開発環境
•  Emacs24.3+Pythonシェル(IPython)	
  
•  MacではGUIがCarbonからCocoaになったた
めか、Emacsの動作がちょっと不安定	
  
•  PyCharmよさそう	
  
– Emacsのキーバインド再現が結構忠実
まとめ
•  データ解析のためなら、RかPython	
  
– これは間違いない	
  
•  Rは汎用言語ではないので、なんでもでき
るPythonを選んで損はない	
  
•  次回以降は、みなさんのご要望を取り入
れつつ、機械学習の話?

More Related Content

S01 t1 tsuji_pylearn_ut_01