首页 > 解决方案 > 在 Python 中创建多个对象而不使用对象的前缀名称

问题描述

如果我运行此代码:

class A():
   def __init__(self): 
      print(self)
a = A() 
b = A()

输出:

<__main__.A object at 0x7fe4378b4b70>
<__main__.A object at 0x7fe4371ce198>

然后从输出中,我可以看出每个对象都会在内存中保留自己的位置。

但是,如果我在不给对象命名的情况下运行以下命令:

class A():
   def __init__(self): 
      print(self)
A() 
A()

输出:

<__main__.A object at 0x7f34e5840b70>
<__main__.A object at 0x7f34e5840b70>

然后输出将是相同的!如果不将每个对象分配给命名变量,我将如何获得不同的对象?

标签: python-3.xoop

解决方案


继续您的评论,使用列表怎么样?

class A():
    def __init__(self): 
        print(self)

objects = [A() for _ in range(5)]

输出:

<__main__.A object at 0x0105F890>
<__main__.A object at 0x01190830>
<__main__.A object at 0x011908B0>
<__main__.A object at 0x011908D0>
<__main__.A object at 0x011908F0>

推荐阅读