7

http://www.effbot.org/zone/python-objects.htmを読んだ後、私はこの質問が残っています:

Python ではa=1、整数オブジェクトを作成して nameaにバインドb=[]し、空のリスト オブジェクトを作成して name にバインドするとb、eg を呼び出すとどうなりc=[1]ますか?

これは list-object を作成し、それを name にバインドすると思いますが、正確にcはどのように1処理されますか? 内部では、リスト オブジェクトの実際の内容はどのようになっているのでしょうか。整数オブジェクトまたは「別の」整数オブジェクトへの参照で構成されていますか? c[0]たとえば、リスト項目にバインドされた名前と考えてもよろしいですか?

また、次の場合はどうでしょう。

d=1  # creates int(1)-object and binds it to d
e=[d]  # creates list-object and binds it to e, but what happens with d?

リスト オブジェクト (名前付き) の内容は、呼び出された整数オブジェクトまたは新しい整数eオブジェクトへの参照になりますか?d

答えは、上記の情報源からのルンド氏のこの引用にあると思いますが、まだ少し混乱しています。

次に、そのオブジェクトのメソッドを呼び出して、整数オブジェクトをそれ自体に追加するように指示します。これはリスト オブジェクトの内容を変更しますが、名前空間には触れず、整数オブジェクトにも触れません。

また、答えの一部がここにあると思います: Python; 名前バインディングはオブジェクト参照ではありませんか? 、しかし、私はまだもう少し洞察を探しています。

4

1 に答える 1