2016-12-09 1 views
-1

Ich betrachte einfachen Python-Code wie untenPython3: Wie zwei Objekte aus derselben Klasse sind unterschiedlich?

class Robot: 
    pass 

if __name__ == "__main__": 
    x = Robot() 
    y = Robot() 
    y2 = y 
    print(y == y2) 
    print(y == x) 

und Ausgang

True 
False 

ist, dass der Vorteil der OOP-Konzept ist, verstehe ich. Aber was unterscheidet es, wenn zwei verschiedene Objekte auf dieselbe Klasse verweisen, haben sie fast dieselben Eigenschaften, aber etwas ist anders und ich möchte diese Eigenschaft kennen, die anders ist.

EDIT: Ich denke, diese Frage ist nicht doppelt auf Frage unten gegeben. Ich möchte jedes Objekt tiefer wie eine Skelettstruktur sehen. Sie haben verschiedene IDs, die ich verstehen kann, weil Objekt-ID-Konzept in Python ist ähnlich wie variable ID's concept, nur IDs zuweisenden Konzept.

Vielen Dank.

+1

, da dies 2 Instanzen für x und y sind. y2 und y teilen die gleiche Referenz. –

+0

'print id (x), id (y), id (x)! = Id (y)' –

+0

@mu 無 Kann ich dieses Konzept ein wenig tiefer nehmen? Bitte entschuldigen Sie, wenn es eine dumme Frage ist, aber ich möchte fragen. Kann ich irgendwie sehen, welche Eigenschaften für Referenzobjekte verwendet wurden? –

Antwort

0

Es heißt Identität und Sie können (eine numerische Darstellung davon) mit der Funktion id erhalten.

print(id(x)) 
print(id(y)) 
print(id(y2)) 

163193456 
163193584 
163193584 

Das einzige, was in zwei Objekte notwendigerweise anders ist, ist die Identität (das Ergebnis der id die Behörden auffordern, wenn Sie pragmatisch sein wollen). Alles andere kann gleich sein.

Verwandte Themen