私は次のPythonコードのチャンクを持っています:
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)
これにより、理論的にはパスワードのSHA1が出力されますが、コンストラクターからself.passwordを設定すると、定義されたプロパティが無視され、値が「password1」に設定されます。次に、「password1」の値がprintステートメントによって読み取られます。
これは、インスタンスではなくクラスで定義されているパスワードに起因することはわかっていますが、正しく表現する方法がわからないため、機能します。どんな助けでもいただければ幸いです。