SlideShare a Scribd company logo
他言語ユーザーのための
Python入門
@kzfm
私について
•  @kzfm
–  製薬会社の研究員(最近インフラ周りばかり)
–  perl -> python (-> haskell)
•  pypiでメンテ
–  pygamess(量子化学計算)
–  pychembldb(sqlalchemy製のdbapi)
•  最近pandas(Rみたいに使えるやつ)がお気
に入り
Python入門時に知っている
と学習速度があがるかな
という内容です
書籍など
まずは「みんなのPython」
h"p://www.amazon.co.jp/dp/4797371595	
多言語習得者にもこれからプログラミングを始めるヒトにも
Dive Into Python 3
h"p://diveintopython3-­‐ja.rdy.jp/
Gameをつくりながら
h"p://inventwithpython.com/
もっと?
•  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
オンラインドキュメント
pydocコマンド
•  perlでいうところのperldoc
•  pydoc [package]でターミナルで読む
•  pydoc ‒p 5000でlocalhost:5000
でサーバーが起動するのでwebブラウザ
から読める。地味に便利。
python.jp
PLEAC
•  http://pleac.sourceforge.net/
•  perl cookbookを他言語で解いたもの
•  pythonはもちろんある
– カバー率85%
•  得意な言語をテコにした他言語習得に便
利!
ヘルプ的なモジュールや関数
dir
•  methodを調べます
– よく使う
>>>	
  str	
  =	
  "shizuoka.py"	
  
>>>	
  dir(str)	
  
[...⾊色々...	
  ',	
  'swapcase',	
  'title',	
  'translate',	
  'upper',	
  
'zfill']	
  
>>>	
  str.startswith("hama")	
  
False	
  
type
•  型を調べます
– 型システム入門買いました?
>>>	
  type(str)	
  
<type	
  'str'>	
  
>>>	
  type(3)	
  
<type	
  'intʼ’>	
  
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	
  	
  	
  	
  """nn	
  	
  	
  	
  
kwargs.setdefault('allow_̲redirects',	
  True)n	
  	
  	
  	
  
return	
  request('get',	
  url,	
  **kwargs)nʼ’	
  
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ʼ’	
  
たまに使う
正直めんどい
(注)画像のヒトはしりません
IPYTHONのすすめ
IPythonとは
•  python interactiveの拡張
•  補完とかヘルプとか便利になってる
•  matplotlibとの親和性が高い
– numpy + scipyとも
•  でもOS X(10.7-)だとインストールが大
変
– ScipySuperpackを使おう
– http://fonnesbeck.github.com/
ScipySuperpack/
コード補完
TABを押す
help(イントロスペクション)
•  methodの後に?をつける
shellを叩く
•  !ではじめる
その他の機能
•  ?を叩くとヘルプ
エディタ
なにがいいの?
•  好きなの使えばイイ
–  Sublime Text 2とかいいんじゃなかろうか?
•  設定Pythonで書くんでしょ?
•  僕はFlymakeがないと困るのでEmacsを
使っています。
–  http://blog.kzfmix.com/entry/
1334218401
–  .emacsの暗黒道には気をつけましょう
•  「朝から.emacsいじってたら日が暮れたわ」みたい
な
jedi
•  コード補完
– https://github.com/davidhalter/
jedi
– vimでもemacsでも(sublime text?)
まとめ
IPython便利なのでつかいま
しょう

More Related Content

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