Bonjour à tous !
Soit ma classe C :
Code :
- class C(object) :
- ______...
- ______def __repr__(self):
- ____________return u"ligne unicode\\n"+u"suite sur une nouvelle ligne"
|
Quand je fais un print C() la fonction __repr__() me renvoie une chaîne sur une seule ligne sans interpréter \n . Le résultat est :
ligne unicode\nsuite sur une nouvelle ligne
Par contre si j'écris __repr()__ ainsi : (sans le format unicode)
Code :
- ______def __repr__(self):
- ____________return "ligne str\\n"+"suite sur une nouvelle ligne"
|
j'obtiens bien, après un print C() , deux lignes de résultat. Pourquoi ? __repr__() ne doit renvoyer que le type str, pas le type unicode ?
edit : problème pour afficher l'anti-slash dans du code.
Message édité par suizokukan le 29-09-2005 à 11:25:21