gpt4 book ai didi

python - 对象列表的自定义字符串格式

转载 作者:太空宇宙 更新时间:2023-11-04 07:21:39 24 4
gpt4 key购买 nike

<分区>

我有一个对象列表。我正在尝试使用 string formatting capability 输出列表中对象的有意义的表示,显示一些实例变量。内置于最新版本的 Python 中。我正在使用 Python 3.3.0。

我在类中为列表中的对象定义了一个 __str__ 方法。如果我尝试打印单个对象,我会得到 __str__ 方法返回的表示。但是如果我尝试打印整个列表,我会得到通用表示,就好像我没有定义 __str__ 方法一样。这是一个例子:

class CustomClass:
def __init__(self):
self.instanceVar = 42

def __str__(self):
return "{} (instanceVar = {})".format(self.__class__.__name__, self.instanceVar)

testObject = CustomClass()

print("{}".format(testObject))
# CustomClass (instanceVar = 42)

print("{}".format([testObject]))
# [<__main__.CustomClass object at 0x1006cbed0>]

如何让第二条打印语句打印类似[CustomClass (instanceVar = 42)]的内容?是否可以通过将正确的格式字符串传递给 print 函数来做到这一点,还是比这更复杂?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com