【发布时间】:2023-01-13 17:54:23
【问题描述】:
我有一个包含 __init__ 方法的类,一个更改初始值的方法和一个要打印调整值的 __repr__ 函数
代码草稿如下
class Workflow:
def __init__(self, a):
self.a = a
def build(self):
self.a += 1
def __repr__(self):
value = self.build()
return value
# Driver Code
t = Workflow(1234)
print(t)
我得到如下错误
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[71], line 3
1 # Driver Code
2 t = Workflow(1234)
----> 3 print(t)
TypeError: __str__ returned non-string (type NoneType)
我犯了什么错误? 在这种情况下,如果我想打印出被方法改变的值,我应该怎么做呢?
【问题讨论】:
-
正如它所提到的,你没有从代表,它需要返回一个字符串。所以你应该回溯看看为什么这个值会是 None。想想
build()在做什么,您可能会发现问题所在。
标签: python