Python Flashcards

1
Q

Was ist Python?

A

Programmiersprache, die interpretiert

objektorientiert und plattformunabhängig

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wofür wird Python angewendet?

A

Skriptprogrammierung, Webprogrammierung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie unterscheiden sich Java und Python?

A

Python im Vergleich zu Java:
Zeileneinrückung in Python Bestandteil der Syntax
kein Compiler
kein ; am Zeilenende

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist ein Compiler?

A

Übersetzungsprogramm, das maschinenlesbaren Code erzeugt aka Binärcode

Python NICHT

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie werden Kommentare bei Python eingefügt?

A
#
gelten für ganze Zeile
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was muss zwingend zu Beginn in den Code, wenn Python und HTML in 1 Quellcodedatei sein sollen?

A

print(“Content-type: text/html”)

damit Brwoser das als HTML Seite erkennt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie werden in Python mehrzeilige Ausgaben programmiert?

A

print(“””

“””)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie fängt jede Python-Datei oben an?

A
#!python
#-*- encoding:utf-8 -*-

import cgi (Schnittstelle)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie werden HTML Antworten für den Browser in der Python-Datei programmiert?

A

print(“Content-type:text/html”)

print()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie werden Formulareingaben mit Python verarbeitet?

A

Absenden des Formulars ruft serverseitiges Skript auf

form=cgi.FieldStorage()
varibale = form.getvalue(“variable”, “defaultwert”)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was liefert form.getvalue()?

A

liefert immer String, auch bei Zahleneingaben, weil URLs keine Datentypen kennen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was passiert, wenn nicht angekreuzte Chechboxen/Radio Buttons gesendet werden?

A

liefert none

-> kein leerer String!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie kann man vermeiden, dass der String none ist?

A

mit if Abfrage

Defaultwert angeben

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie kann man mit Zahleingaben rechnen?

A

String muss in Zahl umgewandelt werden

Ganzzahl: int(form.getvalue(“stringvariable”))
Fließkommazahl: float(form.getvalue(“stringsvariable”)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was sind Fließkommazahlen?

A

Zahlen, die sehr groß oder sehr klein sind, die sich nicht als Ganzzahlen darstellen lassen und gebrochene Werte enthalten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Welche 2 Möglichkeiten gibt es für formularbasierte Webanwendungen?

A
  1. Möglichkeit
    HTML Eingabeformular -> submit button ruft Python Skript auf
    Python Skript liest GET Parameter über cgi Schnittstele aus, führt Berechnungen durch und stellt Ergebnisse dar
  2. Möglichkeit
    Startseite index.html leitet direkt auf Python-Seite weiter (mit meta http-equiv=””)
17
Q

Welche Nachteile hat die reine Python Lösung?

A

HTML Code wird mittels print() Befehlen ausgegeben
schwer lesbar
Formatierung kaum noch möglich
Vermischung von HTML-Inhalten und Programmlogik

18
Q

Was ist cgi?

A

cgi steht für common gateaway interface und stellt die Kommunikations-Schnittstelle zwischen Webserver und Drittsoftware dar, die Anfragen bearbeitet

19
Q

Wie können Anführungsstriche/Apostrophe in Python ausgegeben werden?

A

escapen mit Backslash

"Hallo”\

20
Q

Wie kann ein Backslash ausgegeben werden in Python?

A

\

21
Q

Welche internen Datentypen gibt es in Python?

A

Boolean: bool -> true und false

Ganzzahl: int -> beliebig viele Ziffern

Fließkommazahl: float

Zeichenkette: str

Array von Werten: list

Assoziatives Array: dict

22
Q

Welche Typumwandlung findet automatisch statt?

A

int -> float

23
Q

Wie kann der Datentyp einer Variablen geprüft werden?

A

Bedingungsabfrage

b = true
if type(b) == bool:
print("b ist vom Typ Boolean")
else:
print("b ist nicht vom Typ Boolean")
24
Q

Welche String Vergleiche gibt es?

A

true wenn gleicher Inhalt: a == b
true wenn unterschiedlicher Inhalt: a!=b
true wenn kleiner/vorher: a<b></b>

25
Q

Was ist ein Shebang?

A

!

gibt Programm an, mit dem dieses Skript ausgeführt werden soll

  1. Zeile von jeder Python Datei: #!python -> Ausführung von Python-Interpreter
26
Q

Was gibt die 2. Zeile von jeder Python-Datei an?

A

legt Zeichensatz fest, mit dem diese Skriptdatei gespeichert ist

-- encoding: utf-8 --

27
Q

Welcher Vorgang beim Absenden des Formulars?

A

ruft Skript im Web Server per HTTP-Protokoll auf

alle Formulariengaben zwischen form und /form per CGI Schnittstelle zugreifbar und werden als string übermittelt

28
Q

Was passiert mit leeren EIngabefelder nach dem Absenden des Formulars?

A

wird gar nichts übermittelt,
als ob Eingabefeld nciht vorhanden wäre
kann zu Fehlern bei serverseitiger Verarbeitung führen

29
Q

Wie bekommt Python Zugriff auf die Formular-Eingabefelder

A

zugang zu GET/POST Paramtern über cgi Schnittstelle: form = cgi.FieldStorage()

Variablen in Python definieren und Zugriff auf Formulareingaben definieren
varname1 = form.getvalue(“”)
varname2 = form.getvalue(“”)

30
Q

Wie kann vermieden werden, dass es zu Problemen kommt, wenn ein Formularfeld nicht ausgefüllt wurde?

A

required=”required”

wenn nicht required, dann unbedingt defaultwert bei der Variablendefinition angeben:
varname1 = form.getvalue(“varname”, “0”)