Comprendre l'auto python

Qu'est-ce que soi

self est utilisé lors de la création d'une classe en python, mais il n'est pas nécessaire que ce soit le caractère self. Cela signifie qu'il est habituel d'utiliser soi-même.

Et bien que soi-même soit souvent appelé soi-même, je pense que c'est trompeur. Comme vous pouvez le voir en créant une classe et en écrivant une méthode qui renvoie self, self est ** self à ce stade **. Et ce moi peut être changé intentionnellement.

Change toi

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

Le code ci-dessus est un programme général. Cependant, vous pouvez également écrire comme ceci.

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

C'est parce que nous passons l'objet directement à soi. Bien sûr, vous pouvez faire des choses aussi étranges.

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

Résumé

Bien sûr, nous ne faisons généralement pas des choses aussi étranges! Je pense que c'est raisonnable, mais je trouve personnellement cela intéressant. N'est-ce pas un peu frais pour ceux qui écrivent en quelque sorte python?

Recommended Posts

Comprendre l'auto python
Comprendre Python Coroutine
Python
Essayez de comprendre Python soi
Paiza Python Primer 8: Comprendre les classes
Paiza Python Primer 7: Comprendre les fonctions
Compréhension complète du débogage Python
Python et DB: comprendre le curseur DBI
[Python] Comprendre le potentiel_field_planning de Python Robotics
[Road to Intermediate] Comprendre les propriétés Python
python kafka
Les bases de Python ⑤
Résumé Python
Python intégré
Notation d'inclusion Python
Technique Python
Étudier Python
Compte à rebours Python 2.7
Mémorandum Python
Python FlowFishMaster
Service Python
astuces python
fonction python ①
Les bases de Python
Mémo Python
ufo-> python (3)
Notation d'inclusion Python
Installer python
Python Singleton
Les bases de Python ④
Mémorandum Python 2
mémo python
Python Jinja2
Comprendre VQ-VAE
Incrément Python
atCoder 173 Python
[Python] fonction
Installation de Python
Essayez Python
Mémo Python
Itératif Python
Python2 + mot2vec
Fonctions Python
Tutoriel Python
underbar python C'est ce que
Résumé Python
Démarrer python
[Python] Trier
Remarque: Python
Comprendre Concaténer
Les bases de Python ③
Sortie du journal python
Les bases de Python
[Scraping] Scraping Python
Mise à jour Python (2.6-> 2.7)
mémo python
Mémorandum Python
Python #sort
ufo-> python