python-3.x - 在 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>
然后输出将是相同的!如果不将每个对象分配给命名变量,我将如何获得不同的对象?
解决方案
继续您的评论,使用列表怎么样?
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>
推荐阅读
- swift - App Store Receipts 字段中缺少“product_id”
- sql - ASP.NET Windows 身份验证 - 用户“NT AUTHORITY/ANONYMOUS LOGON”登录失败
- javascript - 当我使用 Python (Windows 10) 发送本地文件地址时,我试图找到一种让浏览器读取我的 URL 参数的方法
- sql-server - 如何使用 SSIS 表达式将 dd.mm.yyyy 格式的字符串转换为日期?
- python - Python 3:如何根据范围函数创建列表列表
- java - 安装后第一个应用程序运行时相机无法正常工作
- amazon-s3 - 神社图片上传器未正确安装
- docker - 在 docker-compose 中设置内存限制会出错
- python - 从列表中获取匹配字符串并创建新列表
- python - 有人可以解释这段代码来识别两个数据帧之间的差异吗?