Was ist eine zirkuläre Referenz?

9

In Python können Sie eine Liste an sich selbst anhängen und die Zuweisung übernehmen.

%Vor%

Meine Frage ist warum?

Python erlaubt dies, anstatt einen Fehler zu werfen, liegt das daran, dass es einen potenziellen Nutzen dafür gibt, oder ist es nur, weil es nicht als notwendig erachtet wurde, dieses Verhalten explizit zu verbieten?

    
SuperBiasedMan 29.04.2015, 13:46
quelle

1 Antwort

4
  

ist das, weil es einen potenziellen Nutzen dafür gibt oder ist es nur, weil es nicht als notwendig angesehen wurde, dieses Verhalten explizit zu verbieten?

Beide. Listen speichern Referenzen, und es gibt keinen Grund, sie daran zu hindern, bestimmte ansonsten gültige Referenzen zu speichern.

Betrachte ein generisches Videospiel vom Typ Top-Down-Shooter:

  • Ein Level enthält einen Verweis auf jedes Enemy , so dass es jedes Bild zeichnen und aktualisieren kann.
  • Ein Enemy enthält einen Verweis auf seine Level , so dass es (zB) die Entfernung zum Player abfragen oder ein Bullet in Level erzeugen kann.
Score_Under 29.04.2015, 15:54
quelle

Tags und Links