Tag! Ich war die post beantworten und versuchen Klasse zu schaffen, wo __str__
mit meinem __str__
so ersetzt:Wie ersetzt man super() .__ str___?
from decimal import *
class Zar(Decimal):
def __init__(self, z):
self.__z = Decimal(z)
def __str__(self):
return 'R{!r}'.format(self.__z)
def __repr__(self):
return 'R{!r}'.format(self.__z)
z1 = Zar(3.62)
z2 = Zar(4.12)
z = Zar(z1 + z2)
print('{:.3f}'.format(z))
print(z)
Ich erwartete Ausgabe wie R7.740
, aber es funktioniert nicht. Bitte - sagen - wie nachladen str Methode für Standard-Klasse? Es ist so langweilig alle + zu tun -/* ... Methoden
Jetzt habe ich Ausgang:
7.740
RDecimal('7.740000000000000213162820728')
Was meinst du mit "Es funktioniert nicht"? Ein "Format" mit einem Format spezifiziert natürlich nicht "__str__" und "__repr "__. –
'z' ist kein' Zar'. – user2357112
Warum erben Sie von 'Decimal' * und * mithilfe von Komposition, um eine Instanz von' Decimal' zu umbrechen? – chepner