Ich schreibe ein Programm, um ein kleines physikalisches System zu simulieren und bin immer genervter geworden, wenn ich solche Dinge schreibe:
K = 0.5 * self.m * self.v**2
Im obigen Fall ist die Gleichung kurz und ziemlich verständlich, aber ich habe Situationen, in denen es so viel self
gibt, dass die ganze Sache endet wie ein Durcheinander. Mir ist bewusst, dass python immer self
benötigt, um auf Klassenmitglieder zu verweisen, aber gibt es eine Möglichkeit, den Code nicht wie ein Mosaik von self
s aussehen zu lassen?
BEARBEITEN : Normalerweise mache ich Dinge wie:
var = self.var
und weiterhin var
anstelle von self.var
verwenden. Später mache ich:
self.var = var
Aber das scheint wirklich dumm zu sein. Was wäre der pythonische Weg, um dieses Problem zu lösen?
Wenn Sie nur einige Tastenanschläge speichern möchten, können Sie self
immer in s
umbenennen:
Dies spart 3 Zeichen pro Verwendung von self
. Das widerspricht der Standardkonvention, aber nichts hindert Sie daran. Ich würde davon abraten, dies im allgemeinen Code zu tun, aber es könnte gerechtfertigt sein, wenn es einige sehr lange Formeln lesbarer macht. Erwähnen Sie die ungewöhnliche Auswahl in einem Kommentar, falls jemand Ihren Code lesen muss, wenn Sie schon lange nicht mehr sind.
Ich denke, es ist möglich, einige schwarze Magie in Python zu verwenden und einen Kontextmanager zu entwickeln, der ein Objekt nimmt und sein gesamtes Attribut in den locals()
des Kontexts legt und es wieder dem Objekt in __exit__
zuweist. Funktion.
Sie haben Ссылка gefunden, was hilfreich sein könnte.
Tags und Links python