Ich habe diese hypothetische Situation, wo ich überprüfen müssen, ob eine Phone
Instanz mit Preis erstellt wird weniger als 100 und, wenn ja, dann muß ich die Benutzer warnen, dass der Preis nicht weniger als 100Property Setter in __init__ Methode?
ich sein kann die unten verwende für dieses Beispiel:
class Phone(object):
def __init__(self,v):
self._cost = v
@property
def cost(self):
return self._cost
@cost.setter
def cost(self,value):
if value < 100:
print("Cost cannot be less than 100")
else:
self._cost = value
s8 = Phone(98)
Aber dieser Code lässt den Benutzer nicht wissen, dass ein Telefon kann nicht mit dem Preis erstellt werden weniger als 100. Was ist die Verwendung einer Set-Funktion für eine Eigenschaft in Python zu haben Wenn wir die Werte nicht überprüfen können, wenn wir das Objekt initialisieren? Mache ich hier etwas falsch?
Ich wusste, dass ich etwas dummes vermisste. Die meisten Beispiele im Internet hatten keine Parameter in __init__ Methoden, daher war ich etwas verwirrt. –
@karun_r: Bitte lesen [_Was soll ich tun, wenn jemand meine Frage beantwortet? _] (Http://StackOverflow.com/Help/Someone-answers) – martineau
Es geht darum, die Antwort nicht zu akzeptieren (Es erlaubte mir nicht zu tun Alexander Huszagh hat die Frage innerhalb weniger Sekunden beantwortet, aber ich habe es aufgegriffen, und wenn es darum ging, dass mein Kommentar als Dankeschön erklingt, wurde meine Absicht erwähnt, warum ich es nicht viel früher mit Hilfe des Beispiele aus dem Internet.) –