Python 这个程序在类中存储文本消息我如何在类中打印它

Python 这个程序在类中存储文本消息我如何在类中打印它,python,class,Python,Class,如何更改此str代码以适当打印?您可能只需要将这些字符串附加到初始化为thelist=[]的列表中,然后返回'\n'。加入(thelist)。但是在代码中还有其他一些异常 import datetime class SMS_Inbox: def ___init___(self): self.__inbox=[] def addNewArrival(self,senderPhone,arrivalTime,msgTxt): msgInfotupl

如何更改此str代码以适当打印?

您可能只需要将这些字符串附加到初始化为
thelist=[]
的列表中,然后返回
'\n'。加入(thelist)
。但是在代码中还有其他一些异常

import datetime
class SMS_Inbox:
    def ___init___(self):
        self.__inbox=[]


    def addNewArrival(self,senderPhone,arrivalTime,msgTxt):
        msgInfotuple=(senderPhone,arrivalTime,msgTxt)
        singleMsg=[False,msgInfotuple]
        self.__main=self.__inbox.append(singleMsg)
        return self.__main


    someStr=""
    def __str__(self):
        for msg in self.__inbox:
            unread=msg[0]
            msgTuple=msg[1]
            phoneNum=msgTuple[0]
            date=msgTuple[1]
            txt=msgTuple[2]
            return str(unread)+ someStr+" " +str(phoneNum) + someStr+" " + str(txt)+someStr+" "
这毫无意义<代码>追加始终返回
。为什么要把
None
保存为
self
的属性并返回它呢

self.__main=self.__inbox.append(singleMsg)
return self.__main
除了在循环的第一个过程中出现明显的
return
ing错误(因此不会有其他过程),这将失败,因为
someStr
在方法的范围内是而不是;我想你需要用self.someStr来代替。(在我看来仍然很奇怪,但至少它起作用了:-)

因此,这种方法必须类似于:

someStr=""
def __str__(self):
    for msg in self.__inbox:
        unread=msg[0]
        msgTuple=msg[1]
        phoneNum=msgTuple[0]
        date=msgTuple[1]
        txt=msgTuple[2]
        return str(unread)+ someStr+" " +str(phoneNum) + someStr+" " + str(txt)+someStr+" "

“适当”是什么意思?现在它做了什么,你期望它做什么?还要注意,
“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu__init_u'
。我希望得到与此类似的输出,并回答我的两半。[[False,('111-111-3333',datetime.datetime(2015,1,15,8,15),'bring milk')]@JaleneBurta,你得到了什么?太好了,记住接受答案(点击左边的复选框)。
someStr=""
def __str__(self):
    thelist = []
    someStr = self.someStr
    for msg in self.__inbox:
        unread=msg[0]
        msgTuple=msg[1]
        phoneNum=msgTuple[0]
        date=msgTuple[1]
        txt=msgTuple[2]
        s = str(unread)+ someStr+" " +str(phoneNum) + someStr+" " + str(txt)+someStr+" "
        thelist.append(s)
    return '\n'.join(thelist)