eine Eigenschaft Setter von Ich nenne:Wie haben Code das folgende Stück Python I __init__
import hashlib
class User:
def _set_password(self, value):
self._password = hashlib.sha1(value).hexdigest()
def _get_password(self):
return self._password
password = property(
fset = _set_password,
fget = _get_password)
def __init__(self, user_name, password):
self.password = password
u = User("bob", "password1")
print(u.password)
Diese in der Theorie aus dem SHA1 des Passworts jedoch gedruckt werden soll, self.password Einstellung von der Konstruktor die ignoriert definierte Eigenschaft und setzt den Wert auf "password1". Der Wert von "password1" wird dann von der print-Anweisung gelesen.
Ich weiß, das ist etwas bis auf das Passwort in der Klasse im Vergleich zu der Instanz definiert ist, aber ich bin mir nicht sicher, wie man es richtig darstellt, so dass es funktioniert. Jede Hilfe wäre willkommen.
Warum haben Sie eine Instanz von '_password' und' password'? –
_password ist das Speicherfeld. Passwort ist die Eigenschaft Accessor. _Passwort bedeutet ein privates Feld. Passwort ist das öffentliche Protokoll. –