[英]Incomplete Object in Python Tutor?
我进行了此培训,需要在该程序中查找问题。 我找不到它们,并且python导师不允许我看到创建的对象。 它只是说对象不完整。 该程序应为字符串创建一种队列。 代码有什么问题?
class A():
"""Eine Art Warteschlange für Strings"""
def __init__(self, wait = [], now = ""):
self.wait = wait
self.now = now
def new_string(self, x):
"""Fügt einen String zur Warteschlange hinzu"""
self.wait.append(str(x))
def next_string(self):
"""Holt den nächsten String aus der Warteschlange, speichert ihn als aktuellen String"""
self.now = self.wait[0]
self.wait.pop(0)
def top(self):
"""Gibt den aktuellen String zurück"""
return self.now
def __str__(self):
return self.top
这是我在课堂上遇到的几个错误(可能还有更多):
在类文档的缩进下。
修复:向右缩进4个空格。
__str__
magic方法不会返回string
。
修复:将self.top
替换为self.top()
。 您可能想返回方法top
返回的值。
添加new_string
now
不更新属性。
由于您正在__str__
中使用对象的now
属性, __str__
,每当使用new_string
方法初始化空对象时,建议对其进行更新。 有几种方法可以做。 我建议您按照自己的意愿解决此问题。
例:
In []: a = A()
In []: a.new_string('foo')
In []: print(a)
In []: a.now
Out[]: ''
In []: a.wait
Out[]: ['foo']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.