首页 > 解决方案 > 如何让一个类打印出多个参数(__str__ 函数题)

问题描述

我正在创建一个使用str () 函数打印出其内容的类。但是,我似乎只能让它打印出其中一个参数?当我要求它返回 self.num 和 self.word 时,它会引发错误。

有人可以帮助我吗?

class Test:
    def __init__ (self, word, num):
        self.word = word
        self.num = num

    def __str__(self):
        return self.word, self.num

a = Test('Word', '10')
print(a) 

标签: pythonpython-3.xstringclass

解决方案


__str__方法应返回单个字符串。要显示多个变量,请将它们连接(+如果它们是字符串)或将它们格式化(通过f-string literalsformat string templatesprintf %-formatting)成单个字符串。

class Test:
    def __init__ (self, word, num):
        self.word = word
        self.num = num

    def __str__(self):
        # f-string literal - ``{...}`` are replacement fields
        return f'{self.word} => {self.num}'

a = Test('Word', '10')
print(a)  # Word => 10

推荐阅读