HTTP request senden an Homematic CCU3

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Da kann es so keinen Unterschied geben mit dem i. Da hast du dann noch was anderes verbaselt.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Ein paar Anmerkungen zum Code:

`cursor` sind kurzlebige Objekte für jede Transaktion, und sollten auf keinen Fall gobale Variablen sein.
`sekunde` und `minute` werden fehlerhaft ermittelt. Es darf nur einen now-Aufruf geben. Die Zeit erst in einen String und dann wieder in eine Zahl umzuwandeln ist unsinnig kompliziert, greife direkt auf die Attribute zu. Statt der or-Kette benutze `in`.
Funktionsnamen werden wie Variablen klein_mit_unterstrich geschrieben.
In `Display_lcd` String nicht mit + zusammenstückeln, sondern str.format benutzen.
Die Klammern um die if-Bedingungen gehören weg, elif benutzen oder noch besser, das ganze mit Listen und ohne if lösen.
Direkter Indexzugriff in `Display_screen` ist ein Antipattern, benutze zip.
[pyhon] for sensor, value, einheit, response in zip(sensors, values, einheiten, responses):
print('{:25}:{:10} {:6} {}'.format(sensor, value, einheit, response))[/python]
oder noch besser gar keine parallelen Liste benutzen, sondern nur eine Liste.
Benutzeravatar
__blackjack__
User
Beiträge: 13079
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@eagleflight: Das ist dann eher ein Fall für die `zip()`-Funktion, ganz ohne das `i`. Indexzugriffe sind in Python recht selten nötig und oft ein Zeichen das man etwas „unpythonisches“ macht.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten