1

こんにちは、オブジェクトを印刷しようとすると __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

ありがとうございました

4

2 に答える 2

0

私にとってはうまくいくようです:

>>> 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


>>> a = Directory('Name', 'Parent')
>>> print(a)
I am Name a Child directory of Parent
>>> 
>>> 
于 2013-10-19T02:01:25.340 に答える