3

プロパティ セッターが値を返すようにすることも可能かどうか疑問に思っていました。以下のコードは、問題を表面的に説明しようとしています。

基本的に、オブジェクトにプロパティを設定する必要がありますが、その前に一意かどうかを確認する必要があります。後でオブジェクトに新しい名前を照会する必要なく、一意の名前をユーザーに直接返す方法があるかどうか疑問に思っていました。

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")

編集:これは疑似コードであり、実際に内部関数に値を渡すのを忘れていました。私の悪い。

4

3 に答える 3