Python selbst verstehen

Was ist Selbst

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.

Sich verändern

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

Zusammenfassung

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

Python selbst verstehen
Python
Versuchen Sie, Python selbst zu verstehen
Paiza Python Primer 8: Grundlegendes zu Klassen
Paiza Python Primer 7: Funktionen verstehen
Vollständiges Verständnis des Python-Debuggens
Python und DB: DBI-Cursor verstehen
[Python] Die potenzielle Feldplanung von Python Robotics verstehen
[Road to Intermediate] Grundlegendes zu Python-Eigenschaften
Kafka Python
Python-Grundlagen ⑤
Python-Zusammenfassung
Eingebaute Python
Python-Einschlussnotation
Python-Technik
Python studieren
Python 2.7 Countdown
Python-Memorandum
Python FlowFishMaster
Python-Dienst
Python-Tipps
Python-Funktion ①
Python-Grundlagen
Python-Memo
Ufo-> Python (3)
Python-Einschlussnotation
Installieren Sie Python
Python Singleton
Python-Grundlagen ④
Python-Memorandum 2
Python-Memo
Python Jinja2
VQ-VAE verstehen
Python-Inkrement
atCoder 173 Python
[Python] -Funktion
Python-Installation
Versuchen Sie Python
Python-Memo
Python iterativ
Python2 + word2vec
Python-Funktionen
Python-Tutorial
Python Underbar Das ist was
Python-Zusammenfassung
Starten Sie Python
[Python] Sortieren
Hinweis: Python
Verketten verstehen
Python-Grundlagen ③
Python-Protokoll ausgeben
Python-Grundlagen
[Scraping] Python-Scraping
Python-Update (2.6-> 2.7)
Python-Memo
Python-Memorandum
Python #sort
Ufo-> Python