このあたりの話なら、一応大丈夫だな(笑)
機械す。
※最近、自分の知識に自信が持てなくなってる……
> 別に変数でも何でもいいですが、BASIC時代(Cでも?)に使われた、変数 == 箱
> モデルで説明するのは勘弁といったところでしょうか。そんなものにたとえて
> 覚えさせるから、関数(メソッド)の引数としてどのように振舞うかで混乱が起
> きてしまう。
まぁ実際、Cは箱でしたからねぇ(だから入れ物のサイズ指定が必要)
BASICはしばらく使ってないんで忘れましたが、確か文字と数値では、変数の
書き方が違うんじゃなかったでしたっけ?
えっと、BASICって配列もつかえたんだっけ(あかん、完璧に忘れてる。あと
でポケコンのマニュアル読みなおそう……)
だから「変数じゃねーってばっ!」と言う方が早いかな、と思ったんですが。
> 要は、オブジェクトの「実体」というのがあって、「変数」というのは
> それを見つけるための(見分けるための)ラベルのようなもの。という。
> ラベルが指している先の内容を書き換えるのと、ラベルに書かれている
> 内容を書き換えるというのは別物ですよ。と。
そうですね。
でもって、名札が一枚も貼ってないか、あるいは指定表(リストの中からとか)
がないモノはごみ箱行き、と。
> って、Pythonの短整数もポインタの先にあるんでしたっけ?
一応そうですよ。
だから(1).__add__(1)とかいう、あやしい書き方もできる☆。
ちなみに現在は、長整数と短整数の区別はなくなりつつありますし、Py3kでは
(ユーザ側からは)完全に区別がなくなります。
まぁ、実装の面から言えば、メモリ節約のため、変えてるみたいですが、
オブジェクトポインタであることにはかわりません。
※文字列も、短いモノはシンボルとして登録されますし……
/機械伯爵/