Vorrei utilizzare un blocco di commenti doctest per dimostrare l'utilizzo di una particolare classe di base, ma questo non può essere fatto con doctest o sto facendo qualcosa di sbagliato. Ecco il mio semplice codice demo.Python: come posso definire una classe in un doctest?
class MyClass(object):
'''
>>> m = MyClass()
>>> print m.x
1
>>> class A(MyClass):
>>> def __init__(self):
>>> super(A,self).__init__()
>>>
>>> a = A()
>>> print a.x
1
'''
def __init__(self):
self.x = 1
if __name__ == "__main__":
import doctest
doctest.testmod()
Il codice non viene eseguito. Ecco il primo errore:
Failed example:
class A(MyClass):
Exception raised:
Traceback (most recent call last):
File "C:\Python27\lib\doctest.py", line 1254, in __run
compileflags, 1) in test.globs
File "<doctest __main__.MyClass[2]>", line 1
class A(MyClass):
^
SyntaxError: unexpected EOF while parsing
@avasal: Il mio errore; il post di wohle era formattato in modo errato e ho reindustrato quella sezione con il resto della classe. –