Seite 1 von 1

Invalid syntax &gt

Verfasst: Freitag 13. Februar 2009, 15:00
von Volker Schulte
Hallo zusammen,

ich versuche gerade mich mit Hilfe eines Tutorials in Pygame einzuarbeiten.

Ich bekomme folgende Fehlermeldung:

if ty >= self.__height or ty < 0:
^
SyntaxError: invalid syntax

Das Zeichen ^ steht normalerweise unter gt und nicht wie hier dargestellt unter if.

Das Listing ist noch nicht vollständig geschrieben, aber ich denke, dass ist nicht der Grund dieser Fehlermeldung.

Gruss Volker.

Verfasst: Freitag 13. Februar 2009, 16:24
von zero-one
ich hoffe bei dir steht nicht ernsthaft > im code... falls doch ersetz das mal mit > und das < mit <

ich komm nur darauf weil du meinst das der pfeil unter gt steht

Re: Invalid syntax &gt

Verfasst: Freitag 13. Februar 2009, 16:57
von cofi
Volker Schulte hat geschrieben:Das Listing ist noch nicht vollständig geschrieben, aber ich denke, dass ist nicht der Grund dieser Fehlermeldung.
Ich denke schon, denn a) bemängelt es der Interpreter und b) versteht Python nicht die HTML-Entities von Sonderzeichen ... halt dich an zero-one!

Verfasst: Freitag 13. Februar 2009, 22:45
von Volker Schulte
Hallo,

ich habe die Zeile
if ty >= self.__height or ty < 0:

jetzt umgeschrieben in
if ty >= self.__height or ty < 0:

und erhalte keine Fehlermeldung mehr.

Vielen Dank.

Gruss Volker.

Verfasst: Freitag 13. Februar 2009, 23:47
von BlackJack
@Volker Schulte: Man könnte das auch so schreiben:

Code: Alles auswählen

if not 0 <= ty < self._height:
Bitte auch den einen Unterstrich weniger in Betracht ziehen.

Verfasst: Samstag 14. Februar 2009, 19:22
von Volker Schulte
Vielen Dank für die kurze Version.

Ist es richtig?
1 Unterstrich ist Protected (Geschützt)
2 Unterstriche Private (Privat)

Gruss Volker.

Verfasst: Samstag 14. Februar 2009, 19:27
von cofi
Volker Schulte hat geschrieben:Ist es richtig?
1 Unterstrich ist Protected (Geschützt)
2 Unterstriche Private (Privat)
Nein, überhaupt nicht.
Unterstrich heisst: "Teil der Implementierung. Fass das nur an wenn du weisst, was du tust!"
Zwei Unterstriche bewirken ein sog. Mangling. Damit wird der Name mit dem Namen der Klasse verwurstelt, soll aber nur dazu dienen Namenskonflikte zu verhindern und ist ausdrücklich _nicht_ als Ersatz für ein "hartes" Verstecken des Namens dienen.

Verfasst: Samstag 14. Februar 2009, 19:33
von DasIch
Volker Schulte hat geschrieben:1 Unterstrich ist Protected (Geschützt)
2 Unterstriche Private (Privat)
Nein. Es gibt kein protected oder private in Python.

Wenn man etwas besser nicht anfassen sollte signalisiert man dass mit einem vorangestelltem Unterstrich. Zwei vorangestellte Unterstriche verwendet man um Kollisionen beim Namen zu verwenden und sollte man i.d.R. nicht verwenden.

P.S.:
Wohnort: Lüdenscheid
Wie klein die Welt doch ist, ich wohne in Werdohl :)