TKinter Problem (nocheins -.-)
HTML ist keine Programmiersprache, Visual Basic und PHP zählen nicht. Selbst wenn du aber Visual Basic, PHP, C++ und Delphi könntest hättest du keines dieser Probleme und würdest nicht so programmieren. Ich würde sogar soweit gehen, zu sagen, dass jemand mit der vorigen Erfahrung hier noch nichtmal Fragen stellen müsste, zumindest nicht zum lernen der Sprache.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Einrückung ist ein deutsches Wort, kein Fachterminus von Programmiersprachen oder gar Python: http://de.wiktionary.org/wiki/Einrückung
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Kann es sein, dass du das Tutorial etwas hastig durchgeblättert hast? Ziemlich weit vorne findest du nämlich unter First Steps Towards Programming eine Erklärung für das Einrücken.Doom hat geschrieben:Weil ich hier hängen bleibe ich lerne ja gerade verdammt.
@cofi et al.
eigentlich wollt ich mich noch etwas entspannen, da lese ich dieses Scharmützel.Natürlich habt ihre Recht, aber ich weiß nicht, ob er "neue" das richtig verstanden hat.
Das Einrücken im Quellcode ist das Wesentliche der Sprache Python. Das gibts nicht in:
VB
Cpp
Fortran
etc.
Durch das Einrücken werden logische Blöcke zusammen gefasst.
In C macht man das mit Klammern so { und so }.
Das muß man drauf haben, sonst kann man nicht weiter machen!
In dieser Rubrik gabs letzte Woche 1 schönes beispiel , eine IF abfrage mit einrücken.
Das muß der Programmierer auf der Pfanne haben.
(das war jetzt Gelsenkirchener Platt)
Was sind denn Suiten? das ist mir auch noch nicht untergekommen!
Guude!
Fritz
eigentlich wollt ich mich noch etwas entspannen, da lese ich dieses Scharmützel.Natürlich habt ihre Recht, aber ich weiß nicht, ob er "neue" das richtig verstanden hat.
Das Einrücken im Quellcode ist das Wesentliche der Sprache Python. Das gibts nicht in:
VB
Cpp
Fortran
etc.
Durch das Einrücken werden logische Blöcke zusammen gefasst.
In C macht man das mit Klammern so { und so }.
Das muß man drauf haben, sonst kann man nicht weiter machen!
In dieser Rubrik gabs letzte Woche 1 schönes beispiel , eine IF abfrage mit einrücken.
Das muß der Programmierer auf der Pfanne haben.
(das war jetzt Gelsenkirchener Platt)
Was sind denn Suiten? das ist mir auch noch nicht untergekommen!
Guude!


Fritz
@3ff: Einrücken im Quelltext gibt's auch in VB und C++. Wer das dort nicht macht, nur weil er nicht muss, ist IMHO kein Programmierer sondern ein Pfuscher. In den Sprachen ist es dem Compiler egal, aber Menschen müssen den Quelltext ja auch lesen können. Und da ist Einrücken um zusammengehörige Blöcke kenntlich zu machen in vielen Programmiersprachen Konvention.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Code-Bloecke werden in den BNFs der Referenz so bezeichnet: http://docs.python.org/reference/compound_stmts.html3ff hat geschrieben:Was sind denn Suiten? das ist mir auch noch nicht untergekommen!
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
@cofi,
stimmt, stimmt.
Hab grad meine Bibel durchgeblättert.
Martin von Löwis Python 2
if_stmt ::= 'if' test ':' suite
@BlackJack
In C rückt man ein, damit der Code besser lesebar ist.Klar.
Man könnte auch alles in 1 Zeile editieren der Compiler würd es auch verdauen.
In Python kann man das nicht, Einrückungen sind notwendig, damit die Syntax stimmt.
----------------------------------------------
Der C-Kompiler gcc und g++ ist 1 Zweilaufkompiler.
Erst werden symbolische Adressen erzeugt und dann im 2.Lauf werden die absoluten Adressen erzeugt, damit der Binder ein ablauffähiges Programm erzeugen kann, Zusammenstellen= Compilieren.
In Python wird doch zeile für Zeile interpretiert und der Interpreter prüft die Einrückungen, ob die Syntax stimmt.
Wenn die nicht stimmt, wird das Programm sofort abgebrochen.
In Python fehlt die Übersetzungszeit, das ist 1 ganz wesentlicher Vorteil von Python.
Zum Schluß wird auch 1 Bin-code erzeugt, das ist doch pyc. Sowie unter Win das pyw.
---------------------------------
Was bedeutet eigentlich IMHO? das Wort taucht auch öfter hier im Forum auf.
Guude!
Fritz

stimmt, stimmt.
Hab grad meine Bibel durchgeblättert.
Martin von Löwis Python 2
if_stmt ::= 'if' test ':' suite
@BlackJack
In C rückt man ein, damit der Code besser lesebar ist.Klar.
Man könnte auch alles in 1 Zeile editieren der Compiler würd es auch verdauen.
In Python kann man das nicht, Einrückungen sind notwendig, damit die Syntax stimmt.
----------------------------------------------
Der C-Kompiler gcc und g++ ist 1 Zweilaufkompiler.
Erst werden symbolische Adressen erzeugt und dann im 2.Lauf werden die absoluten Adressen erzeugt, damit der Binder ein ablauffähiges Programm erzeugen kann, Zusammenstellen= Compilieren.
In Python wird doch zeile für Zeile interpretiert und der Interpreter prüft die Einrückungen, ob die Syntax stimmt.
Wenn die nicht stimmt, wird das Programm sofort abgebrochen.
In Python fehlt die Übersetzungszeit, das ist 1 ganz wesentlicher Vorteil von Python.
Zum Schluß wird auch 1 Bin-code erzeugt, das ist doch pyc. Sowie unter Win das pyw.
---------------------------------
Was bedeutet eigentlich IMHO? das Wort taucht auch öfter hier im Forum auf.
Guude!
Fritz


@3ff: Beim gcc erzeugt nicht der Compiler die absoluten Adressen, sondern der Binder. Der Compiler weiss ja noch gar nicht wie gross die einzelnen Code- und Datenteile sind, die vom Binder verarbeitet werden, kann also auch schlecht schon absolute Adressen bestimmen. Ich würde ihn auch nicht als 2-Pass-Compiler bezeichnen. Mit den Optimierungen ist das Bild doch ein wenig komplizierter.
Dein `"Zusammenstellen=Compilieren"` ist etwas irreführend, denn `Compilieren` wird in diesem Kontext als `Übersetzen` ins rein Deutsche übersetzt.
In Python wird nicht Zeile für Zeile interpretiert. CPython compiliert den Quelltext erst in Bytecode und dabei werden auch die `IndentationError` ausgelöst, wenn der Compiler unerwartete Abweichungen findet. Die ``*.pyc``-Dateien werden nicht zum Schluss, sondern am Anfang erstellt. Das ist ja der Bytecode der vom Interpretierer ausgeführt wird, also muss der logischerweise auch am Anfang erstellt werden.
``*.pyw`` werden nicht von Python erstellt. Das sind ganz normale Python-Quelltextdateien die unter Windows mit ``pythonw.exe`` statt ``python.exe`` verknüpft sind.
Dein `"Zusammenstellen=Compilieren"` ist etwas irreführend, denn `Compilieren` wird in diesem Kontext als `Übersetzen` ins rein Deutsche übersetzt.
In Python wird nicht Zeile für Zeile interpretiert. CPython compiliert den Quelltext erst in Bytecode und dabei werden auch die `IndentationError` ausgelöst, wenn der Compiler unerwartete Abweichungen findet. Die ``*.pyc``-Dateien werden nicht zum Schluss, sondern am Anfang erstellt. Das ist ja der Bytecode der vom Interpretierer ausgeführt wird, also muss der logischerweise auch am Anfang erstellt werden.
``*.pyw`` werden nicht von Python erstellt. Das sind ganz normale Python-Quelltextdateien die unter Windows mit ``pythonw.exe`` statt ``python.exe`` verknüpft sind.
@ /me,
lass mich nicht dumm bleiben, ich muß nächste Woche nach Spanien.
was oder wer oder wie ist IMHO?
@BlackJack
Der Binder ist Teil vom Gnu C-Compiler, oder?
Der Lader ld, der legt die absoluten Adressen fest.
CPython ist ein Python-dialekt?
pyw war etwas neu, aber ich arbeite nur mit Python. Mir sind allerdings schon Pogramme untergekommen, die liefen dann auch unter Python, das hat mich auch gewundert. Vor allem, weil MicroSoft häufig was eigenes strickt.
Die größte Neuigkeit, war das mit dem Pfadtrenner \ statt / wie unter Unix.
Wenn ich dann noch an Win3.0 denke...
Und die vielen Updates, alles advanced
Guude!
Fritz

lass mich nicht dumm bleiben, ich muß nächste Woche nach Spanien.
was oder wer oder wie ist IMHO?
@BlackJack
Der Binder ist Teil vom Gnu C-Compiler, oder?
Der Lader ld, der legt die absoluten Adressen fest.
CPython ist ein Python-dialekt?
pyw war etwas neu, aber ich arbeite nur mit Python. Mir sind allerdings schon Pogramme untergekommen, die liefen dann auch unter Python, das hat mich auch gewundert. Vor allem, weil MicroSoft häufig was eigenes strickt.
Die größte Neuigkeit, war das mit dem Pfadtrenner \ statt / wie unter Unix.
Wenn ich dann noch an Win3.0 denke...
Und die vielen Updates, alles advanced
Guude!
Fritz


- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
ld _ist_ der Binder/Linker und auch nicht Teil der GCC, sondern (im Falle von GNU) GNU binutils.
CPython ist die kanonische Python-Implementierung von python.org in C (hence the name)
Was IMHO angeht: Link klicken und lesen, das steht dort schwarz auf weiss (mit Google's CSS).
CPython ist die kanonische Python-Implementierung von python.org in C (hence the name)
Was IMHO angeht: Link klicken und lesen, das steht dort schwarz auf weiss (mit Google's CSS).
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
@3ff: Der Binder ist ein eigenständiges Programm. Genau wie der C-Compiler. Das Frontend-Programm ``gcc`` ruft die nur alle für einen im Hintergrund auf, zum Beispiel den Compiler ``cc`` und den Binder -- nicht Lader -- ``ld``. Ob der Binder alle relativen Adressen durch Absolute ersetzt, hängt von verschiedenen Faktoren ab. Zum Beispiel Zielformat und Zielplattform.
CPython ist die Python-Implementierung in C, die man von http://www.python.org/ bekommt. Insofern also weniger Dialekt als Referenzimplementierung.
``*.pyw`` sind ganz normale Python-Quelltexte. Der Unterschied ist nur der Interpreter der unter Windows mit dieser Endung verknüpft ist. Das ist auch ein ganz normaler Python-Interpreter der neben der ``python.exe`` installiert wird, wenn man sich Python für Windows von http://www.python.org/ installiert. Windows unterscheidet zwischen Konsolenanwendungen und Fensteranwendungen. Konsolenanwendungen haben (mehr oder weniger) zwingend ein Konsolenfenster und die üblichen Standard-Ein- und Augabekanäle. Fensteranwendungen haben beides nicht. Wenn man also in einer GUI-Anwendung nicht möchte, dass zusätzlich ein Textkonsolenfenster aufgeht wenn man das Programm startet, muss man es mit ``pythonw.exe`` starten.
CPython ist die Python-Implementierung in C, die man von http://www.python.org/ bekommt. Insofern also weniger Dialekt als Referenzimplementierung.
``*.pyw`` sind ganz normale Python-Quelltexte. Der Unterschied ist nur der Interpreter der unter Windows mit dieser Endung verknüpft ist. Das ist auch ein ganz normaler Python-Interpreter der neben der ``python.exe`` installiert wird, wenn man sich Python für Windows von http://www.python.org/ installiert. Windows unterscheidet zwischen Konsolenanwendungen und Fensteranwendungen. Konsolenanwendungen haben (mehr oder weniger) zwingend ein Konsolenfenster und die üblichen Standard-Ein- und Augabekanäle. Fensteranwendungen haben beides nicht. Wenn man also in einer GUI-Anwendung nicht möchte, dass zusätzlich ein Textkonsolenfenster aufgeht wenn man das Programm startet, muss man es mit ``pythonw.exe`` starten.
Hallo Doom
Du kannst dein Skript auch so schreiben:
Gruß wuf 
Du kannst dein Skript auch so schreiben:
Code: Alles auswählen
import tkinter
main = tkinter.Tk()
lb1 = tkinter.Label(main, text="groove", font="Courier 16 italic", height=2,
width=20, bd=5, relief='groove', bg="#FFFFFF", fg="#000000", anchor='w')
lb1.pack()
main.mainloop()

Take it easy Mates!
hallo wuf,
in der pastbin liegt dein (etwas geändertes) Programm
hier:
http://www.python-forum.de/pastebin.php?mode=view&s=66
Auf meiner Platte ist python 2.5 installiert und das Modul python-tk fehlte, aber die Namen, die du den Variablen gegeben hast, waren falsch.
Ds ist für den Anfang auch wichtig, du findest die fehler nicht mehr.
Guude!
Fritz
in der pastbin liegt dein (etwas geändertes) Programm
hier:
http://www.python-forum.de/pastebin.php?mode=view&s=66
Auf meiner Platte ist python 2.5 installiert und das Modul python-tk fehlte, aber die Namen, die du den Variablen gegeben hast, waren falsch.
Ds ist für den Anfang auch wichtig, du findest die fehler nicht mehr.
Guude!
Fritz
hallo /me,
hit.
jetzt weiß ich auch was IMHO ist.
laut DICT.CC hat humble mehrere Bedeutungen
http://www.dict.cc/englisch-deutsch/humble.html
Ich hab 5 jahre in England gearbeitet, aber das war mir fremd.
jetzt kann ich beruhigt nach Spanien fahren.
Guude!
Fritz
----------------------
für die Werbung bin ich nicht verantwortlich
In Deutschland gabs- schon vor WWI einen AKüFi= Abkürzungsfimmel
Wie soll man diese- im Anglo-Amerikanischen Raum verbreiteten -Idiome bezeichnen?
IluvU
4UIdie
Ist das die Generation SMS?
hit.
jetzt weiß ich auch was IMHO ist.
laut DICT.CC hat humble mehrere Bedeutungen
http://www.dict.cc/englisch-deutsch/humble.html
Ich hab 5 jahre in England gearbeitet, aber das war mir fremd.
jetzt kann ich beruhigt nach Spanien fahren.
Guude!


Fritz
----------------------
für die Werbung bin ich nicht verantwortlich
In Deutschland gabs- schon vor WWI einen AKüFi= Abkürzungsfimmel
Wie soll man diese- im Anglo-Amerikanischen Raum verbreiteten -Idiome bezeichnen?
IluvU
4UIdie
Ist das die Generation SMS?
@3ff: Diese Kürzel gab's auch schon zu Zeiten der Telegraphie und später bei den Telex-Netzen. Nix neues.
@ Wuf
tkinter versteht mein Interpreter nicht,
Tkinter sehr wohl.
Schau Dir das Beispiel in der Pastebin an.
Ich mach mir keine weiteren Gedanken über Variablennamen.
Wenn mein Interpreter was versteht (richtig) und dann richtig ausführt, dann ist es ok für mich.
Für manche Kollegen sind Variablennamen wichtig.
Ob eine Liste nun so:
oder so
heißt, ist nicht so wichtig für mich.
Es gibt allerdings Variablenamen, die fangen aus gutem Grund
so an.
Gestern hab ich das tutorium von cofi durchgearbeitet. Da steht echt wichtiges drin.
Guude!
Fritz

tkinter versteht mein Interpreter nicht,
Tkinter sehr wohl.
Schau Dir das Beispiel in der Pastebin an.
Ich mach mir keine weiteren Gedanken über Variablennamen.
Wenn mein Interpreter was versteht (richtig) und dann richtig ausführt, dann ist es ok für mich.
Für manche Kollegen sind Variablennamen wichtig.
Ob eine Liste nun so:
Code: Alles auswählen
f= []
Code: Alles auswählen
listenname=[]
Es gibt allerdings Variablenamen, die fangen aus gutem Grund
Code: Alles auswählen
_liste=[]
Gestern hab ich das tutorium von cofi durchgearbeitet. Da steht echt wichtiges drin.
Guude!
Fritz


Wenn du mir sagst wo du wohnst, dann komme ich vielleicht vorbei und helfe dir dabei, auf den Link in meinem Beitrag zu klicken.3ff hat geschrieben:@ /me,
lass mich nicht dumm bleiben, ich muß nächste Woche nach Spanien.