プロパティ セッターが値を返すようにすることも可能かどうか疑問に思っていました。以下のコードは、問題を表面的に説明しようとしています。
基本的に、オブジェクトにプロパティを設定する必要がありますが、その前に一意かどうかを確認する必要があります。後でオブジェクトに新しい名前を照会する必要なく、一意の名前をユーザーに直接返す方法があるかどうか疑問に思っていました。
class MyClass(object):
def __init__(self,ID):
self._ID = ID
@property
def Name(self):
return DBGetName(self._ID)
@Name.setter
def Name(self, value):
UniqueName = DBGetUniqueName(self._ID,value)
return DBSetName(UniqueName)
Myinstance = MyClass(SomeNumber)
#What I do now
Myinstance.Name = "NewName"
Uniquename = Myinstance.Name
#What I was wondering if possible. Line below is syntactically invalid, but shows the idea.
Name = (Myinstance.Name = "NewName")
編集:これは疑似コードであり、実際に内部関数に値を渡すのを忘れていました。私の悪い。