回答編集履歴
1
回答内容を追記
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
名前の衝突を避ける仕様が働いています。
|
1
|
+
Pythonの名前の衝突を避ける仕様が働いています。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -12,4 +12,6 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
+
[9.6. プライベート変数](https://docs.python.org/ja/3.5/tutorial/classes.html)
|
16
|
+
|
15
17
|
> クラスのプライベートメンバについて適切なユースケース(特にサブクラスで定義された名前との衝突を避ける場合)があるので、マングリング(name mangling) と呼ばれる、限定されたサポート機構があります。 __spam (先頭に二個以上の下線文字、末尾に一個以下の下線文字) という形式の識別子は、 _classname__spam へとテキスト置換されるようになりました。ここで classname は、現在のクラス名から先頭の下線文字をはぎとった名前になります。このような難号化 (mangle) は、識別子の文法的な位置にかかわらず行われるので、クラス定義内に現れた識別子全てに対して実行されます。
|