Python Grundlagen: Unterschied zwischen den Versionen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
(Python Bibliotheken)
(Python Bibliotheken)
Zeile 63: Zeile 63:
 
{|
 
{|
 
| style="width:160px;" | '''[https://www.eclipse.org/paho/ paho-mqtt]'''  
 
| style="width:160px;" | '''[https://www.eclipse.org/paho/ paho-mqtt]'''  
| MQTT-Client um mit unserem [[Mosquitto|MQTT]] ([[ServiceIoTServer|MQTT-Server]]) zu kommunizieren
+
| MQTT-Client um mit unserem [[MQTT|Mosquitto]] ([[ServiceIoTServer|MQTT-Server]]) zu kommunizieren
 
|}
 
|}

Version vom 11. März 2019, 18:24 Uhr

Software für Pythonentwicklung

Python3 installieren

Windows

MacOS

Python2.7 ist bei halbwegs aktuellen Systemen schon da, aber nicht python3 und auch kein pip. Homebrew scheint hier ein gutes Mittel python3 und gleich pip3 in einem Abwasch zu installieren. Dazu erst Homebrew installieren, dann python3 via brew install python3.

Raspbian

Unter einem aktuellen Raspbian (Stretch) ist python3 und pip3 normalerweise bereits installiert. Ansonsten hilft für pip3 sudo apt-get install python3-pip

Debian apt basierte Linux Systeme (...buntu etc)

Auch hier ist python3 und pip3 oft schon installiert. Ansonsten hilft hier ein sudo apt install python3-pip

Python Interaktive Shell

  • Aufruf mit python oder python3 für einfache Konsole, besser ist idle3
  • Verlassen mit Ctrl+D (Mac, Linux) bzw. Ctrl+Z (Win) oder exit() oder quit()
  • Schleifen sind möglich: for i in range(10):
    • der Prompt ändert sich zu ...., es muss nun eingerückt werden
    • eine leere Zeile beendet die Eingabge der Schleifenbefehle und führt sie aus
  • auch gut um auszuprobieren, ob libs installiert sind: import numpy oder in der commandozeile pip freeze eingeben um die Liste der installierten Pakete zu sehen.
  • History mit Alt+n/Alt+p (Mac: Ctrl+p/Ctrl+n)

Python IDEs

Hier gibt es eine Liste von Python-IDE's.

Empfohlen wird für Mac/Win/x86-Linux: PyCharm Community Edition (leider zu schwer für Raspberry)

Python Cheat-Sheet für Wursthakenprogrammierer

Wichtigste Unterschiede zu C

  • Strukturierung mit Einrückungen (Space statt Tabs bevorzugt) statt Wursthaken {}, meist endet die Zeile dann mit einem :
  • Bei Python3 erkennt man Funktionen und Methoden an (), z.B. print("Hello World.")
  • Print:
    • Auszugebenes Zeug muss zwischen die Klammern print(a)
    • Texte in "-Zeichen print("Hallo ")
    • Kombinationen aus Variablen und Text:
      • Einfachste Variante: Sachen mit Kommas trennen print("Wert a ist",a,",b ist",b)
      • Mit Platzhalter unformatiert: print("Wert a ist {}, b ist {}".format(a,b))
      • Aneinandergenagelt: print("Wert a ist "+str(a)+", b ist "+str(b))
      • printf-like (veraltet): print("Wert a ist %d, b ist %d" % (a,b))
  • For-Schleife gibt's nur als For-Each - hier hilft range():
    • C: for(int i=0;i<10;i++) {}
    • Python: for i in range(10): # geht von 0...9
    • Durch Listen iterieren:
list1=[2,3,4]

# geht durch alle Elemente, gibt nur die Elemente zurück
for t in list1:
    print(t)

# gibt Elemente und Indexe zurück
for i,elm in enumerate(list1):
    print("The {} item is {}".format(i,elm))
  •  ? Operator von C: aus y?x:z wird x if y else z
  • switch: gibts nicht in Python, kann man aber irgendwie mit dictionaries machen
  • Mehrzeilige Kommentare werden mit 3 Hochkommas definiert
    ''' so werden mehrzeilige Kommentare geschrieben, dieser ist aber nur einzeilig '''

Python Bibliotheken

paho-mqtt MQTT-Client um mit unserem Mosquitto (MQTT-Server) zu kommunizieren