@jupa: Unübersichtlich und fehleranfällig wäre das von Dir gewünschte Verhalten. Wenn man `a` etwas zuweist, das sich dann `c` automagisch ändert, wäre bei den paar Zeilen hier noch nachvollziehbar — bei komplexeren und verschachtelteren Strukturen wäre das sehr überraschend das sich die Werte von einfachen Namen einfach so ändern, ohne das man da eine Zuweisung für im Code sieht.
Wenn sich der Wert von `c` ändern soll, dann muss man da einen neuen Wert zuweisen. Das ist einfach und nachvollziehbar. Man sieht die Zuweisung an `c` im Code. Wenn man dagegen `a` etwas zuweist, und sich daraufhin `c` ändert, und auch noch alles was dann seinerseits mal irgendwann mit `c` berechnet wurde irgendwo im einem mehrere hundert Zeilen langen Programm, da ist die Übersicht ganz schnell weg.
Und ich hatte in meinem letzten Beitrag schon Probleme angesprochen, dass das gar nicht in allen Fällen möglich ist, oder zumindest nicht klar ist in welchen Fällen man dieses Verhalten haben möchte und in welchen nicht. Da müsste auch eine ziemlich komplexe Maschinerie hinter stecken, die bei jeder Zuweisung immer alles aktualisiert was in der Vergangenheit mal mit einem Namen gemacht wurde. Auch wenn man das gar nicht braucht, oder auch gar nicht haben will, weil man ja auch mal feste Ergebnisse möchte, die sich nicht ändern. Weil, wie schon gesagt, das ist fehleranfällig.
Das funktioniert in den meisten Programmiersprachen so wie in Python. Was Du willst wird manchmal in Bibliotheken mit eigenen Datentypen gemacht, wo man dann solche Variablen speziell kennzeichnen/deklarieren muss. Aber das ist nicht der Normalfall. Das hier geht so in die Richtung:
https://github.com/millejoh/pycells und
https://pypi.org/project/promised/
Was ist denn das konkrete Problem was Du damit lösen wollen würdest?