self wird beim Erstellen einer Klasse in Python verwendet, muss aber nicht das Wort self sein. Es bedeutet, dass es üblich ist, sich selbst zu benutzen.
Und obwohl Selbst oft als sich selbst bezeichnet wird, halte ich dies für irreführend. Wie Sie sehen können, indem Sie eine Klasse erstellen und eine Methode schreiben, die self zurückgibt, ist self an diesem Punkt ** self **. Und dieses Selbst kann absichtlich verändert werden.
sample.py
# -*- coding: utf-8 -*-
class Hoge:
def __init__(self, a):
self.__a = a
def call(self):
print(self.__a)
ins = Hoge(1)
ins.call() # 1
Der obige Code ist ein allgemeines Programm. Sie können aber auch so schreiben.
sample2.py
# -*- coding: utf-8 -*-
class Hoge:
def __init__(self, a):
self.__a = a
def call(self):
print(self.__a)
ins = Hoge(1)
Hoge.call(ins) # 1
Dies liegt daran, dass wir das Objekt direkt an uns selbst weitergeben. Natürlich können Sie so seltsame Dinge tun.
sample3.py
# -*- coding: utf-8 -*-
class Hoge:
def __init__(self, a):
self.__a = a
def call(self):
print(self.__a)
ins = Hoge(1)
ins2 = Hoge(2)
ins.call() # 1
ins2.call() # 2
Hoge.__init__(ins, 3)
ins.call() # 3
Natürlich machen wir normalerweise keine so seltsamen Dinge! Ich denke, es ist vernünftig, aber ich persönlich finde es interessant. Ist es nicht ein bisschen frisch für diejenigen, die irgendwie Python schreiben?
Recommended Posts