Pythonは動的言語で は通常、動的言語は、私たちは、実行時に新しいオブジェクトのプロパティとメソッドを結合するのを可能 にもアンバンドリングのプロパティとメソッドを持つようにバインドすることができ 、我々は、カスタム・オブジェクト・タイプを定義する必要がある場合にしかできバインドいくつかのプロパティは、 クラスで定義された変数__slots__によって定義することができます。 __slots__のみサブクラスが仕事をしない、現在のクラスのオブジェクトに対して有効になります
UKスロット[slɒts] US [slɑːts] Vが配信;挿入;(IS)に;(れる)を仕込み 三人称単数の[辞書]スロットを、 [実施例]挿入ガイドピン及び保持にスロットと。 ザガイドピン挿入溝と固定されています。 [その他]プロトタイプ:スロット
class Person(object):
# 限定Person对象只能绑定_name,_age,_gender属性
__slots__ = ('_name', '_age', '_gender')
def __init__(self, name, age):
self._name = name
self._age = age
@property
def name(self):
return self._name
@property
def age(self):
return self._age
@age.setter
def age(self, age):
self._age = age
def play(self):
if self._age <= 16:
print('%s正在画圈圈' % self._name)
else:
print('%s正在打飞机' % self._name)
def main():
person = Person('王大锤', 22)
person.play()
person._gender = '男'
# 非法访问一下 属性已经被我们放入了
print(person._gender)
if __name__ == '__main__':
main()
図の例: