アトリビュートやメソッドのカプセル化 p.273 Pythonでアトリビュートやメソッドをカプセル化するためには、2つの方法がある。 ・アトリビュート名やメソッド名の先頭にアンダースコアを1つ(_)つける 名前の先頭にアンダースコアがひとつついたアトリビュートやメソッドは、クラス内部だけで利用するためにある、というルールのようなものがある。ただし、暗黙の了解なので、実際外部からアクセスできなくなる訳ではない。 ・アトリビュート名やメソッド名の先頭にアンダースコアを2つ(__)つける アンダースコアをふたつつけると、クラスの外部からアクセスができなくなる。 例. >>> class Klass: ... sizeA = 10 ... _sizeB = 20 ... __sizeC = 30 ... >>> a = Klass() >>> a.sizeA 10 >>> a._sizeB 20