質問: 1 new_age =2 human.add_data(new_parson_id, new_age) print("id:{} age{}".format(new_parson_id, new_age) # id:21 age:32となることを期待 ``` 結果 ``` id:1 age:2 ```
回答: (追記)勘違いだったようなので打ち消しておきます ~~Pythonにおける値渡しと参照渡し が参考になります~~ ~~int のオブジェクトではありますが、intがimmutableであるためです。~~ (下記はただのリファレンス引用なので残します) > > オブジェクトによっては 値 を変更することが可能です。値を変更できるオブジェクトのことを mutable と呼びます。生成後に値を変更できないオブジェクトのことを immutable と呼びます。(mutable なオブジェクトへの参照を格納している immutableなコンテナオブジェクトの値は、その格納しているオブジェクトの値が変化した時に変化しますが、コンテナがどのオブジェクトを格納しているのかが変化しないのであれば immutable だと考えることができます。したがって、immutable かどうかは値が変更可能かどうかと完全に一致するわけではありません) オブジェクトが mutable かどうかはその型によって決まります。例えば、数値型、文字列型とタプル型のインスタンスは immutable で、dict や list は mutable です。 > > > 3.1. オブジェクト、値、および型 より