Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Hallo,
ich habe ein etwas spezielles Problem.
Es hat zwar was mit einem Modul zu tun, gehört aber eigentlich zur Pythonsyntax.
Aber zu Sache: Man kann ja Schlüsselwörter an eine Funktion übergeben (so wie 'self' an eine Ojektfunktion) ich arbeite mit Panda3D und muss an einer Stelle neben 'self' auch noch 'task' als diese Schlüsselwörter übergeben. Allerdings wir das zweite immer als ganz normaler Parameter erkannt. Also wenn 'self' vorne steht, kommt ne Fehlermeldung, dass 'task' fehlt und andersrum. Wie kann ich Python klar machen, das beide Schlüsselwörter sind
@hepythos: Prinzipiell kann man das erste Argument einer Methode so benennen wie man will. Dass es "self" heißt, hat sich einfach eingebürgert. Daher ist methode(task, x, y, z) ebenso möglich, falls du das meinst.
snafu hat geschrieben: Samstag 19. September 2020, 08:30
@hepythos: Prinzipiell kann man das erste Argument einer Methode so benennen wie man will. Dass es "self" heißt, hat sich einfach eingebürgert. Daher ist methode(task, x, y, z) ebenso möglich, falls du das meinst.
@hepythos: Ich glaube nicht, denn das erste Argument einer Methode *nicht* `self` zu nennen ist falsch. Das macht man nicht, denn das ist extrem verwirrend und deutet darauf hin das jemand objektorientierte Programmierung in Python nicht verstanden hat und da etwas sehr schräges versucht.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Richtig, eine Empfehlung sollte das nicht sein. Bloß ein Hinweis darauf, dass die automatische Übergabe des ersten Parameters gewissermaßen "magisch" erfolgt, nicht jedoch der Zugriff auf "self". Es ist also nicht wie z.B. bei "this" in Java gelöst.
__blackjack__ hat geschrieben: Samstag 19. September 2020, 11:16
@hepythos: Ich glaube nicht, denn das erste Argument einer Methode *nicht* `self` zu nennen ist falsch. Das macht man nicht, denn das ist extrem verwirrend und deutet darauf hin das jemand objektorientierte Programmierung in Python nicht verstanden hat und da etwas sehr schräges versucht.
gut möglich, dass es hässlich ist, aber meiner Meinung nach ist wichtiger, dass es klappt.
@hepythos: Es ist nicht hässlich, es ist schlicht *falsch*. Und nein, nicht alles was ”funktioniert” ist irgendwie schon richtig. Editoren/IDEs mit statischer Analyse markieren das auch mit der Kategorie ”Fehler”, und nicht als ”Warnung” oder ”Konvention”.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
__blackjack__ hat geschrieben: Samstag 19. September 2020, 19:38
@hepythos: Es ist nicht hässlich, es ist schlicht *falsch*. Und nein, nicht alles was ”funktioniert” ist irgendwie schon richtig. Editoren/IDEs mit statischer Analyse markieren das auch mit der Kategorie ”Fehler”, und nicht als ”Warnung” oder ”Konvention”.