東京大学の mono さんから、Python という言語を勧められた。しかもだいぶ前に。
ぼくは当時、3D プログラミングに興味があったのだが、どうやら Python ならばそっち方面にも強いらしい。
というわけで、そろそろぼくも Python をやってみようかなと思った。どんだけ放置してたんだよ、と。
まず、Python 環境を構築しよう。
せっかく PHP 環境(というか XAMPP)を USB メモリに入れて持ち運べるようにした事だし、ついでに Python もポータブルじゃなくちゃ!
というわけで、Portable Python をダウンロード & インストール……したいところだが、実は Python には 2.x 系と 3.x 系という2種類の系統があり、どちらかを選ばねばならない。
調べてみたところ、
- 2.x 系と 3.x 系は言語仕様が大幅に異なる
- 今のところはまだ 2.x 系が主流である
- Java ほど下位互換性がない
ぼくはここから PortablePython_1.1_py2.6.1.exe を落とした。どうせすぐ新しくなるだろうから 2.x 系であれば特に細かなバージョンには拘らない。
ちなみに Python 自体はちっちゃな言語であり、パワフルなプログラムを開発していくには様々なライブラリの力を借りる必要があるらしい。
ゆえに、Portable Python には以下のライブラリや開発支援アプリケーションが標準でバンドルされている。何がなにやらという状態ではあるが。
- Django-1.0.2-final
- IPython-0.9.1
- PIL-1.1.6
- Py2exe-0.6.9
- PyGame-1.8.1
- PyReadline-1.5
- PyScripter v1.9.9.6
- PyWin32-212
- Rpyc-2.60
- SPE-0.8.4.c
- wxPython-unicode-2.8.9.1
インストールが終わり、ようやく試運転。便利なことに PyScripter という IDE が標準でくっついてきた。こんなの。
試しに
print('Hello, world')と入力して、実行ボタンを押すと、コンソールにちゃんと“Hello, world”と表示された。やったね!
せっかくなので、標準で入っている PyGame ライブラリを使ってウィンドウを作ってみた。参考にしたのは『Pythonでゲーム作りますが何か?』である。
#!/usr/bin/env python # -*- coding: utf-8 -*- import pygame from pygame.locals import * import sys SCREEN_SIZE = (640, 480) # 画面サイズ # Pygameを初期化 pygame.init() # SCREEN_SIZEの画面を作成 screen = pygame.display.set_mode(SCREEN_SIZE) # タイトルバーの文字列をセット pygame.display.set_caption(u"Tercel") # ゲームループ while True: # 画面を白色で塗りつぶす screen.fill((255, 255, 255)) # 画面を更新 pygame.display.update() # イベント処理 for event in pygame.event.get(): if event.type == QUIT: # 終了イベント sys.exit()
実行してみた。
わー、できた。なんかアレだけどとりあえずできた。
PyScripter はシンタックスハイライトやら入力補完やらの使い心地がよく、これらのお陰で今まで新しい言語を学ぶ際に感じていた諸々のフラストレーション(認知負荷とか)がだいぶ低減されているように感じた。
これで、USB 一本あれば、おうちでも学校でもネットカフェでも快適にプログラミングのお勉強ができるようになったよ。わーい。