1
Analyse: Zuweisungsoperation (a=XX, b=a), a, b zeigen auf denselben Speicherplatz. Wenn a und b unveränderliche Typen sind, ändert sich a, ein Wert ändert sich und die ID ändert sich, aber b ändert sich nicht und die ID von b ändert sich nicht; wenn a und b veränderliche Typen sind, ändert sich a, ändert sich ein Wert und die ID Nr ändern, b ändert sich, die ID von b bleibt gleich.
2
Parsen: Tupel sind unveränderliche Datentypen.
3
4
Analyse: Flache Kopie: Flache Kopie kopiert nur das übergeordnete Objekt, nicht das untergeordnete Objekt, sondern zeigt nur auf die Speicheradresse des untergeordneten Objekts. Auf diese Weise bleibt das übergeordnete Objekt von c unverändert, wenn sich das übergeordnete Objekt von a ändert. und wenn sich das untergeordnete Objekt von a ändert, ändert sich das untergeordnete Objekt von c. Das Objekt ändert sich.
Tiefe Kopie: Tiefe Kopie d kopiert das übergeordnete Objekt und das untergeordnete Objekt von a vollständig, und a und d beeinflussen sich nicht gegenseitig.
5
Parsen: bar()()
Im Allgemeinen bedeutet das Aufrufen einer Funktion, eine Klammer hinzuzufügen. Wenn Sie nach den Klammern eine Klammer sehen, bedeutet dies, dass die erste Balkenfunktion eine Funktion zurückgibt, und wenn danach eine Klammer steht, bedeutet dies, dass die vorherige auch eine Funktion zurückgibt. und so weiter.
6
Analysieren: