- 2008-05-02 (Fri) 22:56
- Python
guccyonが「みんなのPython」の読書会を企画したので参加。
毎回、感想をどこかに書くというルールがあるので、ここで報告します。
今回は前置き部分は飛ばしてP11からP67まで読むということだったけど、気になったので前置きも読んでみた。 言語仕様的な特徴はこことか
ここに書いてくれているのでざっくり省略。
みんなのPython読書会#1 - かけだしプログラマの奮闘記
なので僕は気になったことを自分なりに分析し、自分勝手な答えを作って満足するという方法をとります。 まず、
del文ヤバイ
del文によって配列の要素とか変数そのものを削除できるみたいですが、何のために存在するのかわからない。 配列オブジェクトのdelメソッドでもいいはず。 組み込み関数のdel関数でもいいはず。 でもそのどちらでもなくて、なぜかdel文なのです。 扱いはif文とかfor文などと同じ。 なんでそんなの作ったの? メモリは即座に開放されるの?それともガベージコレクションの対象となってしばらくは生き続けるの? 本当に不思議な存在。
自分的結論
Pythonの作者(名前忘れた)は恐らくC言語でPythonを作ったのだと思うが、彼はC言語でできるけどPythonでできないことを作りたくなかった。 メモリを即座に開放したい、と思ったらCではそれができる。だからPythonもできなければいけない。 そしてこの処理はあまりにも特殊であるため通常の関数にはせず、あくまでdel文にした。 という予測はどうだろう?
タプルは美しい
聞きなれないタプルという言葉。 どうやら変更できない固定の配列みたいなもののことらしい。 配列として扱えるリストという組み込みデータ型もあるのに、なぜこれが必要なのか? 不思議な存在だ。
自分的結論
とりあえず美しい。まず「タプル」という名前がなんかタプタプしてて美しい。その後にラ行の音を持ってくるあたり、かなりのバランスの良さが生まれると同時に、「プル」という、これまたプルプルした感じの響きまでくっつけた。美しすぎるネーミングセンス。
そしてタプルは変更不可というのも美しい。 だから辞書(ハッシュみたいなもん)のキーにも使えるとのことだ。
JavaのHashMapだと、変更可能なオブジェクトもキーに使える。なぜなら内部的にはオブジェクトの参照先アドレスをキーにしているからだ(多分、間違ってるかもしれないけど似たことをしてるはず)。
ということは、Pythonではそうではない、のではないか?あくまでキーに指定されたオブジェクトが参照する値を比較する。 キーはハッシュ化されるからキーが持つ値によってメモリ上の格納先も決定する。それが後から書きかえられたら都合悪いってことだろう。
辞書のキーであろうがなんだろうが、変数はあくまで中身の値で扱うという徹底した思想がある、のかもしれない。
だからこそ柔軟な言語になる、と言える気もする。
(推測ばっかだな)
関連するエントリー [Python] 「みんなでPython」 読書会#1
Comments:3
- はるお 2008-05-02 (Fri) 23:32
-
タプルのタプタプというところに激しく笑いました。
- オクム 2008-05-03 (Sat) 17:18
-
>タプルは美しい
これいいで表現ですね~(・e・)
なんかタプリたくなってきました。。。。w - obanetty 2008-05-04 (Sun) 13:21
-
はるお さん
オクム さん
タプタプでプルプルなタプルをこれからもよろしく
トラックバック:No Trackbacks
- トラックバック URL
- http://blog.garden-place.jp/action.php?action=plugin&name=TrackBack&tb_id=137
- Listed below are links to weblogs that reference
- [Python]「みんなでPython」読書会#1 from Web 酒 肴