【发布时间】:2013-10-27 23:39:41
【问题描述】:
您好,我在尝试打印对象时遇到了 __str__ 问题。解释器告诉我“TypeError:格式字符串的参数不足”
这是我要运行的代码!
'My Practice Class'
class Directory:
'A Simple Directory Class'
def __init__(self, name, parent):
self.name = name
self.parent = parent
def __str__(self):
return 'I am %s a Child directory of %s' % (self.name, self.parent)
def __repr__(self):
return 'Directory(%r)' % self.name
print a
Traceback (most recent call last):
File "<\stdin>", line 1, in <\module>
File "myclass.py", line 14, in \__str\__
def \__repr\__(self):
TypeError: not enough arguments for format string
谢谢
【问题讨论】:
-
看起来不错。您可以为遇到的错误添加回溯吗?
-
您的课程对我有用(已发布)-
__str__()和__repr__()请发布创建实例并使用方法的语句。 -
嗯,那到底是什么鬼?
-
@Matt,发布完整的程序,这样人们就可以运行与您运行的完全相同的程序。 “完整”是指足以引发错误的代码 - 不多也不少;-)
-
或者您正在导入但未能调用
reload(xxx)。调用import xxx只会在之前未加载的情况下加载它,因此即使您保存(但未重新加载)新代码,python 也可能会看到旧代码。