Zwei Anfängerfragen

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
snapdragon5090
User
Beiträge: 7
Registriert: Dienstag 26. April 2016, 17:39

Hi,

ich bin neu in der Python Welt und würde mich freuen, wenn jemand zwei Fragen beantworten kann, auf die ich keine Antwort gefunden habe.

Bei folgendem Code bekomme ich einen Fehler:

Code: Alles auswählen


a = 300.0
b = 300.0
c = 300.0
d = 300.0
e = 300.0
f = 300.0
i = 1

while i<5:
    a_neu = (0.8*c)/3 + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6
    b_neu = (0.8*a)/2 + (0.8*e) + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6
    c_neu = (0.8*a)/2 + (0.8*b)/2 + (0.8*d) + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6
    d_neu = (0.8*c)/3 + (0.8*b)/2 + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6
    e_neu = (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6
    f_neu = (0.8*c)/3 + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6

    

'''
    a = a_neu
    b = b_neu
    c = c_neu
    d = d_neu
    e = e_neu
    f = f_neu
    i = i+1
'''

    i = i+1

print(e_neu)
Sobald ich den mehrzeiligen Kommentar lösche, funktioniert das Programm. Mit dem Kommentar meckert das Programm wegen dem i unterhalb des Kommentars. Warum macht Python das? Der Kommentar sollte doch ignoriert werden ?

2. In jedem Tutorial das ich mir angesehen habe, werden erstellte GUIs (mit QT-Designer) über eine .bat Datei pyuic4 in eine .py Datei umgewandelt und diese dann geladen.
Hier im Forum habe ich ein Thread gelesen in dem steht, dass man das nicht mehr macht und die .ui Datei direkt lädt.

Frage 2.1: Stimmt das?
Frage 2.2: Könnte mir jemand einen Code-Snippet schreiben, wie ich die .ui importiere und welche Vor- Nachteile das vorgehen gegenüber dem umwandeln hat?


Viele Grüße

Snapi
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

1. Python hat keine Multiline Kommentare, es hat Multiline Strings. So einen hast du da und der wird natürlich nicht ignoriert.

2.1 Ja
2.2 Es ist grundsätzlich schwierig mit generierten Dateien zu arbeiten, deswegen macht man sowas nicht sofern es sich vermeiden lässt. Du musst z.B. darauf achten dass die generierte Datei und deren Quelle synchron bleiben, also die generierte Datei nicht direkt verändert wird oder veraltet. Gerade im Zusammenhang mit Versionskontrollsystemen passieren da schnell Fehler also lässt man garantierte Dateien da i.d.R. raus aber dann braucht man einen Build Prozess. Python wird aber nicht kompiliert also ist dies im Python Kontext schwierig zu handhaben. Außerdem musst du auch bei der Entwicklung ständig die entsprechenden Dateien neu generieren. All diesen Dinge sparst du dir wenn du einfach direkt die UI Dateien nutzt. Nachteile gegenüber dem umwandeln gibt es keine.
snapdragon5090
User
Beiträge: 7
Registriert: Dienstag 26. April 2016, 17:39

Hallo DasIch,

vielen Dank für deine schnelle und hilfreiche Antwort.

Du Frage 1. habe ich jetzt folgenden Link gefunden:
http://www.devedge.de/python/kommentare-python

Hier steht ebenfalls, dass es mehrzeilige Kommentare gibt... :O
BlackJack

@snapdragon5090: Egal wieviele Webseiten Du findest die behaupten es gäbe mehrzeilige (Block)Kommentare in Python, ändert nichts daran das Python die nicht hat. Wenn es die hätte, müsste das ja in der Sprachbeschreibung in der Python-Dokumentation zu finden sein, oder mindestens im Quelltext des Compilers von CPython. :-)
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
dass es mehrzeilige Kommentare gibt...
Das stimmt aber nicht - es ist, wie DasIch schon sagte, ein Multiline-String, der als Kommentar "missbraucht" wird.
Ein gängiger Anwendungsfall für Multiline-Strings sind Docstrings zur Dokumentation von Klassen und Funktionen.

Rein von der Syntax her leitet nur (und auch nur) die Raute # einen einzeilgen Kommentar ein.

Gruß, noisefloor
Benutzeravatar
miracle173
User
Beiträge: 127
Registriert: Samstag 6. Februar 2016, 00:28

snapdragon5090 hat geschrieben: (...)
Mit dem Kommentar meckert das Programm wegen dem i unterhalb des Kommentars. (...)
was meckert es?
Sirius3
User
Beiträge: 17746
Registriert: Sonntag 21. Oktober 2012, 17:20

@snapdragon5090: literale Strings sind im Gegensatz zu Kommentaren Ausdrücke, die korrekt eingerückt werden müssen. Die meisten sinnvollen Editoren erlauben es, per Tastenkürzel markierte Bereiche auszukommentieren. Damit ist auch klar, dass der Bereich ein Kommentar ist und nicht ein unbenutzer String.
Antworten