Manchmal stehen vor der Funktion in der Klasse zwei Unterstriche
def __hogehoge():
print('Hello.')
Ich wusste nicht was es bedeutete, also ein Memorandum Fazit: Kann nur innerhalb dieser Klasse aufgerufen werden
Lass es uns tatsächlich versuchen ~ Bereiten Sie das folgende Beispiel vor
train.py
class Hoge:
def __init__(self):
print('this is init function.')
def public():
print('this is public function.')
def __private():
print('this is private function.')
Wechseln Sie in das Verzeichnis, in dem sich diese Datei in [Terminal] befindet, und führen Sie sie wie folgt aus.
__init__
wird immer aufgerufen, wenn Sie eine Klasse ausführen
$python
>>> from train import Hoge
>>> Hoge()
this is init function.
Geben Sie Folgendes in die Fortsetzung des Terminals ein
>>> Hoge.public()
this is public function.
Funktionen, an die nichts angehängt ist, können problemlos aufgerufen werden
Geben Sie Folgendes in die Fortsetzung des Terminals ein
>>> Hoge.__private()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'Hoge' has no attribute '__private'
Externer Anruffehler
Nachtrag: 19/12/4 Ich habe einen Kommentar erhalten. Wenn Sie es wirklich aufrufen möchten, können Sie es aufrufen, indem Sie `` `Foo._Foo__a``` eingeben! Danke für die Information.
Recommended Posts