笑わないでください。私は必死です。
getter と setter を使用した Python クラスの標準的な例を次に示します ( Wikipediaから)。
class Student(object):
# Initializer
def __init__(self, name):
# An instance variable to hold the student's name
self._name = name
# Getter method
@property
def name(self):
return self._name
# Setter method
@name.setter
def name(self, new_name):
self._name = new_name
今、デコレータなしの私のバージョン:
class Student(object):
# Initializer
def __init__(self, name):
# An instance variable to hold the student's name
self._name = name
# Getter method
def name(self):
return self._name
name=property(fget=name)
# Setter method
def set_name(self, new_name):
self._name = new_name
name = property(fset=set_name)
... 2番目のバージョンが機能しないことを除いて。Student クラスをインスタンス化すると、たとえばBob=Student('Bob')
、Bob.name は AttributeError:unreadable 属性をスローします。
私の評判が10,000に達したらすぐに、反対票が殺到し始める前にバグを指摘するために身をかがめる親切な魂に100ポイントを寄付することを約束します.