他言語ユーザーのためのpython入門

28
他言語ユーザーのための Python入門 @kzfm

Upload: kazufumi-ohkawa

Post on 10-May-2015

2.282 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 他言語ユーザーのためのPython入門

他言語ユーザーのためのPython入門

@kzfm

Page 2: 他言語ユーザーのためのPython入門

私について •  @kzfm – 製薬会社の研究員(最近インフラ周りばかり) – perl -> python (-> haskell)

•  pypiでメンテ – pygamess(量子化学計算) – pychembldb(sqlalchemy製のdbapi)

•  最近pandas(Rみたいに使えるやつ)がお気に入り

Page 3: 他言語ユーザーのためのPython入門

Python入門時に知っていると学習速度があがるかな

という内容です

Page 4: 他言語ユーザーのためのPython入門

書籍など

Page 5: 他言語ユーザーのためのPython入門

まずは「みんなのPython」

h"p://www.amazon.co.jp/dp/4797371595

多言語習得者にもこれからプログラミングを始めるヒトにも

Page 6: 他言語ユーザーのためのPython入門

Dive Into Python 3

h"p://diveintopython3-­‐ja.rdy.jp/

Page 7: 他言語ユーザーのためのPython入門

Gameをつくりながら

h"p://inventwithpython.com/

Page 8: 他言語ユーザーのためのPython入門

もっと? •  TOP 10 FREE PYTHON PDF EBOOKS DOWNLOAD TO LEARN PYTHON PROGRAMMING

– http://www.php2s.com/programming/top-10-free-python-pdf-ebooks-download-to-learn-python-programming.html

Page 9: 他言語ユーザーのためのPython入門

オンラインドキュメント

Page 10: 他言語ユーザーのためのPython入門

pydocコマンド •  perlでいうところのperldoc

•  pydoc [package]でターミナルで読む

•  pydoc ‒p 5000でlocalhost:5000でサーバーが起動するのでwebブラウザから読める。地味に便利。

Page 11: 他言語ユーザーのためのPython入門

python.jp

Page 12: 他言語ユーザーのためのPython入門

PLEAC •  http://pleac.sourceforge.net/ •  perl cookbookを他言語で解いたもの •  pythonはもちろんある – カバー率85%

•  得意な言語をテコにした他言語習得に便利!

Page 13: 他言語ユーザーのためのPython入門

ヘルプ的なモジュールや関数

Page 14: 他言語ユーザーのためのPython入門

dir •  methodを調べます – よく使う

>>>  str  =  "shizuoka.py"  >>>  dir(str)  [...⾊色々...  ',  'swapcase',  'title',  'translate',  'upper',  'zfill']  >>>  str.startswith("hama")  False  

Page 15: 他言語ユーザーのためのPython入門

type •  型を調べます – 型システム入門買いました?

>>>  type(str)  <type  'str'>  >>>  type(3)  <type  'intʼ’>  

Page 16: 他言語ユーザーのためのPython入門

inspectモジュール •  getsourceでソースコードを出力 – あまり使わない

>>>  import  inspect  >>>  import  requests  >>>  inspect.getsource(requests.get)  'def  get(url,  **kwargs):\n        """Sends  a  GET  request.  Returns  :class:`̀Response`̀  object.\n\n        :param  url:  URL  for  the  new  :class:`̀Request`̀  object.\n        :param  **kwargs:  Optional  arguments  that  `̀`̀request`̀`̀  takes.\n        """\n\n        kwargs.setdefault(\'allow_̲redirects\',  True)\n        return  request(\'get\',  url,  **kwargs)\nʼ’  

Page 17: 他言語ユーザーのためのPython入門

inspectモジュール(続き) •  getabsfileでファイルの場所を知る

>>>  import  requests  >>>  import  inspect  >>>  inspect.getabsfile(requests.get)  '/usr/local/Cellar/python/2.7.3/lib/python2.7/site-‐‑‒packages/requests-‐‑‒0.10.6-‐‑‒py2.7.egg/requests/api.pyʼ’  

たまに使う

Page 18: 他言語ユーザーのためのPython入門

正直めんどい (注)画像のヒトはしりません

Page 19: 他言語ユーザーのためのPython入門

IPYTHONのすすめ

Page 20: 他言語ユーザーのためのPython入門

IPythonとは •  python interactiveの拡張 •  補完とかヘルプとか便利になってる •  matplotlibとの親和性が高い – numpy + scipyとも

•  でもOS X(10.7-)だとインストールが大変 – ScipySuperpackを使おう – http://fonnesbeck.github.com/ScipySuperpack/

Page 21: 他言語ユーザーのためのPython入門

コード補完

TABを押す

Page 22: 他言語ユーザーのためのPython入門

help(イントロスペクション) •  methodの後に?をつける

Page 23: 他言語ユーザーのためのPython入門

shellを叩く •  !ではじめる

Page 24: 他言語ユーザーのためのPython入門

その他の機能 •  ?を叩くとヘルプ

Page 25: 他言語ユーザーのためのPython入門

エディタ

Page 26: 他言語ユーザーのためのPython入門

なにがいいの? •  好きなの使えばイイ – Sublime Text 2とかいいんじゃなかろうか?

•  設定Pythonで書くんでしょ?

•  僕はFlymakeがないと困るのでEmacsを使っています。 – http://blog.kzfmix.com/entry/1334218401

–  .emacsの暗黒道には気をつけましょう •  「朝から.emacsいじってたら日が暮れたわ」みたいな

Page 27: 他言語ユーザーのためのPython入門

jedi •  コード補完 – https://github.com/davidhalter/jedi

– vimでもemacsでも(sublime text?)

Page 28: 他言語ユーザーのためのPython入門

まとめ

IPython便利なのでつかいましょう