python - 如何让一个类打印出多个参数(__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)
解决方案
该__str__
方法应返回单个字符串。要显示多个变量,请将它们连接(+
如果它们是字符串)或将它们格式化(通过f-string literals、format string templates或printf %-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
推荐阅读
- scala - 如何在处理速率限制时异步发送 HTTP 请求?
- mongodb - 将聚合的结果作为对象而不是数组返回
- spring - log4j2 不在登台机器上生成日志
- ruby-on-rails - Rails 6 Active Storage:Digital Ocean Spaces 不支持公共读取 ACL
- javascript - 通过 wordpress 中的脚本切换 div
- xml - NiFi xml试图分离具有半结构化数据的文本节点
- c++ - 我可以在 if 语句中枚举变量吗?
- doxygen - 如何使用 Doxygen 记录 .c 和 .h 文件
- java - 如何在 Android(Java) 中永久存储一个名为 Activity 的用户名?
- cython - 如何将 shared_ptr 和 make_shared 与数组一起使用?