import copy
class A:
def __init__(self, value):
self.value = value
_LEN_OF_LIST = 5
# object could be created quickly
l = [A(value=100500) for i in range(_LEN_OF_LIST)]
# creating of object is expensive operation
default_object = A(value=100500) # mutable object which
l = [copy.deepcopy(default_object) for i in range(_LEN_OF_LIST)]
# addresses
print('\r\n'.join([str(obj) for obj in l]))
输出:
<__main__.A object at 0x0000028A9BD45B00>
<__main__.A object at 0x0000028A9BC17EB8>
<__main__.A object at 0x0000028A9BC17AC8>
<__main__.A object at 0x0000028A9BC17B38>
<__main__.A object at 0x0000028A9BC17DA0>
对于可变对象有两种更好的情况:
输出:
如您所见:每个对象在内存中都有自己的地址
相关问题 更多 >
编程相关推荐