Learning 1 documentation

python

«  python   ::   Contents   ::   builtin  »

python

基本事項

できること

pythonの強みは、シンプルな設計と多彩なライブラリだと思います。

様々な言語がありますが、PHP, Ruby, Perl, R, Bash 等とできることは同じと考えて差し支えありません。

基本的に以下のことは他の言語と被るので、pythonで使えるようにしましょう。
  • 数学
  • 正規表現
  • SQL
  • XML
  • シェルスクリプト
  • 各種プロトコル(http, smtp, ftp)
  • フレームワーク(Django)

有名ライブラリ

フレームワーク
  • Zope
  • Django
  • Twisted
  • Flask
  • Jinja
  • Tornado
  • Pyramid
  • Pylons
  • gevent
数学
  • Matplotlib
  • Numpy
  • Scipy
Brower
  • Brython
  • python-webkit
開発環境
  • vertualenv
  • Sphinx
  • IPython
  • Jython
  • reStructuredText
  • PyObjC
  • ipdb
  • pip
  • easy_install
ネットワーク
  • BeautifulSoup
  • requests
  • lxml
  • furl
GUI
  • Tkinter
  • PyQt
  • WxPython

簡単なことを簡単にするとは?

よくスクリプト言語は、簡単なことが簡単にできると言われています。

例えば、リスト構造を挙げます。

arr = [1, 2, 3, 4]

これだけで、簡単にリストが構築出来ます。

リストを操作するためのメソッド(append等)が用意されているので

arr.append(5)  # [1, 2, 3, 4, 5]

このように、簡単にデータを扱うことができます。

では、2分木を実装したい場合はどうでしょうか?

arr = [[1,2], [[3, 4],[5, 6]]]

となります。

同じリスト構造でも、2次元配列を扱うためのメソッドはありません。

pythonの場合、簡単に操作できるリスト構造と、面倒な操作になる構文木は分けて実装すると思います。

つまり、pythonでは極力2次元の配列は避けて、1次元のリストでプログラムを組む方向性がよいと考えます。

一方、関数型言語では

((1 2) ((3 4) (5 6)))

と表現自体は同じですが、使用する関数は

car, cdr

と一貫しています。

このため、構文木もリストも同じデータ構造として扱います。

結論として

  • pythonは用途に分けて、よく使われる間数が実装されています。(関数の特化)
  • 間数型言語は、どのデータに対しても一貫した処理をします。(関数の一貫性、シンプル)

が言えると思います。どちらも大切だと思います。

export PYTHONSTARTUP=~/.pyrc #.bashrcにpythonシェルの環境変数を設定
echo "
import rlcompleter, readline
readline.parse_and_bind( 'tab: complete' )
readline.write_history_file('.py_history')
" >> $PYTHONSTARTUP

環境変数に値を加えても、実行時のときだけに反映される。

«  python   ::   Contents   ::   builtin  »

inserted by FC2 system