I ♥ WordPress

[Python勉強日記:003] Pythonにおける数値の扱い
2007/11/03 02:15 posted by kunkichi

昨日は朝から体調が悪く、仕事から帰るなりそのまま布団に直行、というわけで、「毎日やります!」というのも、三日でいきなり挫折していますが(爆)

いや、しんどいながらも通勤時間は読み進めていたのですよ。ただねー、しんどいときってほんと頭に全然入んない(爆)

ということで今日は昨日読んだ4章を再度読み直しました。ここからしばらくはPythonのビルトインオブジェクトに関する章が続くみたい。ビルトインオブジェクトというとわかりにくい印象なんだけど、なんてことはない、数値とか文字列とか配列とかの扱いのお話です。今日は『数値』。

(more…)

[Python勉強日記:002] いよいよPythonを起動してみる
2007/10/31 22:59 posted by kunkichi

前回の続き。『初めてのPython 第2版』の3章と4章の半分ぐらいを読みました。いよいよ実際に動かしてみます。まずは3章。(※目次はここ

(more…)

[Python勉強日記:001] まずはPythonを知る
2007/10/31 01:15 posted by kunkichi

前回から始まった勉強日記ですが、早速『初めてのPython 第2版』を読み進めています。2章まで読み終わりました。(※目次はここ

とりあえずここまでのまとめ。

  1. オブジェクト指向言語である。
  2. インタープリタ方式のスクリプト言語である。
  3. ソースコードはバイトコードにコンパイルされ、そのバイトコードがインタープリタで実行される。

仕事では PHP とか Perl を使ってたので、比較的インタープリタ系な言語がどういうものかっていうイメージは持ってるつもり。だから Python も大きく変わることはないかなということで、同じようなところは省略。で微妙に違ってるところだけあげると 3. のところ。

python.jpg

Python のスクリプトは、拡張子.pyが一般的なようなのだけど、これを実行すると拡張子.pycの中間コードが生成されれて、インタプリタの一部であるPython仮想マシンがそれを読み込んで実行するらしい。で次回以降の実行の際はこの中間コードを読み込むだけなので処理が高速化される。

Perl や PHP も基本的にはバイトコードにコンパイルしてると思うのだけど、たぶんそれはメモリ上で行われていて、こういった中間ファイルを作成することはないんだよね。PHPの場合なんかはこれを実現する為にアクセラレータがあるくらいだし。この辺は Java に近いのかも、というかJava知らないし嫌いだけど(爆)。

で、こういう仕組みなので極端な話、.py がなくても .pyc があればプログラムは動作すると。これはちょっと今までとは大きく違うところなので新鮮でした。また、これは標準のCPythonの実装の場合で他にもいろいろな実装があるらしく、より高速な実装もあるということなので、大規模での運用にも耐えれるというのはあながち大げさな表現でもないのかなと。なかなか興味深いところでした。

さて、次回はいよいよ実際にプログラムを実行していきます。

[Python勉強日記:000] Python ことはじめ
2007/10/30 23:23 posted by kunkichi

最近は、

とかみたいに、プログラミングを学ぶ過程をブログで公開してるのをちらちらと見かけるのにインスパイアされて、こちらも勉強日記を始めてみようかと思います。

で選んだのが Python

理由はLightweight Language AHP一番向いていると言われたから(笑)。

というのは冗談として(いや、実は↑にかなり影響されてその気になってる、爆)、

まじめな理由としては、個人的に翻訳とかしている cobbler が Python で書かれていて、もちょっと内部処理を読めるようになりたいなと。結構いろいろいじったりしてバグとかおかしな挙動を見つけては ML で報告とかしてるんだけどね、やっぱりパッチとか投げれるようになりたい、ちょっとかっこいいし(笑)。まあ、少しぐらいはオープンソースコミュニティに貢献していきたいということです。

とりあえず、IDEA*IDEAをパクっ(ry、以下のポリシーで進めます。

  • オライリーの『初めてのPython 第2版』に沿って進めます。
  • 少しだけでも毎日読みたいと思います。読んだページの履歴や内容についてはブログで報告します。
  • コードはもちろん公開します。
  • 最終的にはなんかアプリ作ります。アプリの仕様はまた別途考えます。
  • アプリが完成したらPython本家に$50寄付します。(寄付のデフォルトが$50だから)

では早速勉強開始〜。この本、700ページ(!)近くあるんだけど、がんばって進めていきたいと思います。


このページの先頭へ