Quina diferència hi ha entre _ i __ en pitó?


Resposta 1:

Teòricament es tracta de noms variables ordinaris. Per convenció, s'utilitza un guió baix com a variable que no importa. Per exemple, si una funció retorna una tuple i només t’interessa un element, una forma pitònica d’ignorar l’altra és:

_, x = diversió ()

En alguns intèrprets, _ i __ tenen significats especials, i emmagatzemen valors de les avaluacions anteriors.

Per aprendre visita a Python: https: //hackr.io/tutorials/learn ...


Resposta 2:

guió principal únic: fer privades de variables, funcions, mètodes i classes

Doble subratllat principal: això introdueix un concepte anomenat "manglom". Això ajuda a la interpretació de pitons a distingir entre noms d'atributs en cas d'herència (quan dos atributs tenen el mateix nom en super i en subclasse). aquest addendeix _Classname a __manglingVariable i es converteix en __Classname__manglingVariable.

hi ha qui l’utilitza com a “veritablement privat”, però ho hauríem d’evitar. A Python no hi ha cap concepte "veritablement privat".

Podeu accedir a una variable de maneig fora d'una classe lateral. Vegeu a continuació l’exemple.

Classe Primera classe:

!! def __add (self):

!!!! print (self.num1 + self.num2)

!! def sub (auto):

!!!! print (self.num1-self.num2)

!! def __init __ (auto, num1, num2):

!!!! self.num1 = num1

!!!! self.num2 = num2

f = FirstClass (1,2) # instantania

f._FirstClass__add () # 3

f.sub () # -1