Verschiedene Syntax?

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.
Antworten
Rick Smart
User
Beiträge: 5
Registriert: Sonntag 22. Dezember 2019, 19:45

Hallo, ich bin noch recht neu unter den Python Programmierern und habe da eine Frage.

Gibt es verschiedene Syntax zu verschiedenen Python Versionen?

Vor einiger Zeit habe ich eine Möglichkeit gesucht damit ein Button automatisch die maximale Breite des Fenster hat.
-> Button.pack(fill=X) geht nicht, stand aber sehr oft so in verschiedenen Foren.

Bis ich den Fehler gefunden habe,

Button.pack(fill="x") -> das funktioniert!

hat es echt Stunden gedauert.

Zur Zeit habe ich schon wieder so ein Problem und suche schon wieder ewig nach einer Antwort.
Habe ich hier zu Python irgendwas nicht richtig verstanden oder ist mir etwas wichtiges entgangen? Kann ja
nicht sein, dass ich wegen einem doofen Syntaxfehlers für alles Stunden im Internet nachgucken
muss. :shock:

mfG
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das wahr doch gar kein Syntaxfehler. Wenn du Fehler bekommst, bitte Code und passenden Fehler posten.
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Rick Smart: Der Name `X` muss ja von irgendwoher kommen. Der ist im `tkinter`-Modul definiert. Also muss man den importieren. Wenn da im Beispiel einfach nur `X` stand, dann wurde der ziemlich wahrscheinlich mit einem ``*`` mit allen fast 200 Namen aus dem `tkinter`-Modul importiert. Das sollte man nicht machen, denn das führt dann am Ende zu genau solchen Verwirrungen — das Leser nicht wissen wo die Namen eigentlich her kommen. Das `tkinter`-Modul wird üblicherweise als ``import tkinter as tk`` importiert und die Namen daraus dann über `tk` angesprochen, also beispielsweise ``button = tk.Button(master, …)`` und dann ``button.pack(fill=tk.X)``.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Rick Smart
User
Beiträge: 5
Registriert: Sonntag 22. Dezember 2019, 19:45

Richtig es war kein Syntaxfehler. So habe ich es auch nicht gemeint.

Wenn ich
.pack(fill=x) schreibe kommt bei mir: >>NameError: name 'x' is not defined<< raus.

Aber darum geht es mir nicht. Wieso stehen im Internet verschiedene Versionen? Den oben genannten Fehler habe ich
so aus einem Online Tutorial abgeschrieben. In einem Forum kann sich schonmal ein Fehler einschleichen aber auf
einer Seiten die einem das programmieren mit Python nahe legen möchten doch wohl nicht.

Das der Button aus dem Modul Tkinter kommt, ist mir klar, auch wie man dieses importiert. Ich habe von den Tut Seiten
auch gleich den ganzen Code kopiert und nach und nach auseinander genommen.
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Rick Smart: Nicht nur der Button kommt aus dem Modul, sondern der Name `X` muss in dem Fall halt auch aus dem Modul importiert werden. Im Internet stehen verschiedene ”Versionen” weil es eben für vieles verschiedene Möglichkeiten gibt das auszudrücken. Im Internet steht auch viel falsches oder zumindest fragwürdiges. Warum? Weil da jeder schreiben kann was er will, ob er Ahnung davon hat oder nicht. Letztlich können sich auch bei Autoren mit Ahnung Fehler einschleichen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten