繁体   English   中英

make __str __或__repr__返回列表作为字符串

[英]make __str__ or __repr__ return list as string

我正在使用python 3.3.4。 这是我的代码:

class ojaxi(object):
    nomeri = 0
    def __init__(self):
        self.wevri = []

    def damateba(self, adamiani):
        if adamiani in self.wevri:
            print("We Already Have That one")
        else:
            self.wevri.append(adamiani)

    def __repr__(self):
        return self.wevri



class adamiani(ojaxi):
    def __init__(self, saxeli, shuasax, asaki):
        self.saxeli = saxeli
        self.shuasax = shuasax
        self.asaki = asaki

    def __str__(self):
        return self




baramidze = ojaxi()
N1 = adamiani("tyler", "durden", 18)
N2 = adamiani("joe", "black", 20)
baramidze.damateba(N1)
baramidze.damateba(N2)


print(baramidze)

我遇到的问题是我无法打印出“baramidze”中所有成员的功能。 我想__repr____str__打印出这样的东西: ["N1", "N2"]

我得到的只是一个错误说:

__str__ returned non-string (type list)

就像错误说的那样,你必须从__str__返回一个字符串。 要做你想做的事你可能会喜欢这样:

def __str__(self):
    return repr(self.wevri)

你应该做:

def __str__(self):
    return ' '.join(self.saxeli+self.shuasax+str(self.asaki))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM