pythonをはじめるために

January 30, 2011 - 書籍, python

今年の目標として

3.pythonに手を出す

というのを掲げていて、「エキスパートPythonプログラミング」を買ったので、pythonの学習をこんな感じではじめてみるつもり、というのを書いておきます。

1.リファレンスを用意する

基礎文法は公式リファレンスで大体まかなえますし、ググれば大体の情報は手に入るので、あえて購入していません。オライリーの「初めてのpython 第3版」は古い上にゴツイので却下しました。(「初めてのpython第4版が洋書は最近出ましたが日本語訳はまだ)

PHP2Pythonは、PHP関数をPythonに置き換えると…というのを投稿できるサイトです。PHP関数から逆引きできるので、目的がはっきりしていれば探しやすくてかなり便利です。

2.目標を決める

pythonを学び始めるにあたっては、何をどこまで学ぶのか、というのは明確にすべきでしょう。
私の場合は、こんな感じ。

他言語との違いを探る

新しい言語を学んだほうが良いというのはよく言われるところだと思います。たとえ直接的に必要性がなくても。その言語やコミュニティの特徴を知ることで、新しい視点が生まれます。
普段のプログラミングに良い部分を取り入れることができると期待しています。

python界隈で知りたいこと
その言語に求めるものは、言語毎に異なるもの。私が気になっているのは以下のとおり。

  • オブジェクト指向プログラミング
  • 関数型プログラミング
  • アプリ開発フロー
  • アジャイルへの取り組みやテスト手法
  • メタプログラミング

これを知るために最適だったのが、上述の「エキスパートPythonプログラミング」でした。

また、特定の目的も一応あって、以下の2つを予定しています。

自然言語処理入門
積読中の書籍に「入門 自然言語処理」があるのですが、pythonで解説されていますので、コードでつまづかない程度に基礎体力をつけておきます。

必要そうな技術はこんな感じ。

  • 文字列の取り扱い
  • NLTK(pythonの言語処理モジュール)の取り扱い
  • 統計処理ライブラリの取り扱い

GAEアプリ開発
Scalaでも少し手をつけていたりますが、JMV系とPythonでどのような違いがあるのかも見てみたいところ。

  • Webフレームワーク(Django, Kay等)の取り扱い
  • 連携する各サービスAPIの取り扱い

当分は言語仕様と戯れようと思います。