Python als Sprache
Do's and Dont's
Iterables
Datentypen
Let's Code
100

Python Code ist besonders beliebt unter Programmierern wegen seiner...

Verständlichkeit oder Geschwindigkeit?

Verständlichkeit

100

Sollten " oder ' verwendet werden für Strings? Oder sind beide okay? Worauf ist zu achten?

Beide sind verwendbar, aber man sollte sie nicht mischen.

100
example = "zentralbibliothek"

print(example[1:3])

Was ist der Output?


"en"

100

Mit welcher praktischen Funktion können wir überprüfen, welchen Typ ein Objekt hat?

type(x)

100

print(1 + 2 + "3")

Fehler oder nicht?

Falls nicht: Was ist der Output?

Fehler: Strings können nicht mit Integern verrechnet werden.

200

Wie lautet das Akronym für den Python Style Guide?

PEP 8

200

Wieso sollte man das nicht machen:

gebäude = ["Bahnhof", "Schule", "Rathaus"]

Variablennamen sollten laut Style-Guide immer ASCII-kompatibel sein. "ä" ist das nicht.

200

Welchen Wert muss x haben, damit eine Liste [0, 1, 2, 3, 4] erstellt wird?

list(range(x))

5

Da das end-Parameter exclusive ist.

200

Was unterscheidet immutable von mutable Datentypen? Nenne ein Beispiel für jeweils eines.

Immutable: Unveränderlich, muss immer neu erstellt werden. Beispiel: String

Mutable: Veränderlich, kann in sich selbst verändert werden, z.B. sortiert. Beispiel: List.

200

for i in range(3):
    print(i, end="-")

Fehler oder nicht?

Falls nicht: Was ist der Output?

1-2-3-

300

Die erste Python-Version erschien:

1985, 1991, 2000 oder 2008?

1991

(2000: Python 2.0, 2008: Python 3.0)

300
Wieso sollte man das nicht machen:


list = "Brot, Milch, Eier"

list ist ein built-in type und wird so überschrieben. Dadurch wäre z.b. die Methode "list()" nicht mehr aufrufbar.

300

Welche Vorteile bietet ein set() über eine list() ?

Wann ist die Verwendung eines sets ungeignet?

Vorteile: Schneller, Unique

Nachteile: Sortierung, Mehrfachvorkommen

300

Erkläre in eigenen Worten, was die Beziehung zwischen einer Klasse und einem Objekt ist.

Ein Objekt ist eine Instanz einer Klasse. Die Klasse dient als eine Art Blaupause zum Erstellen des Objekts.

300

print("Zentralbibliothek" * 2  * 3)

Fehler oder nicht?

Falls nicht: Was ist der Output

"ZentralbibliothekZentralbibliothekZentralbibliothekZentralbibliothekZentralbibliothekZentralbibliothek"

500

Auf welchem Platz der meistbenutzten Programmiersprachen steht Python im Moment? (laut TIOBE Index)

1. Platz
Gefolgt von C++, C und Java.

500
if x == None:


Wie verbessern wir diese Bedingung?

if x is None:


None ist ein Singleton, daher sollte immer "is" verwendet werden, eine Verwendung von "==" kann in seltenen Fällen zu Fehlern führen.

500

example = "zentralbibliothek"

print(example[::-1])

Was ist der Output?

"kehtoilbiblartnez"

500

Welche der folgenden 4 Beschreibungen treffen auf Python zu:

- Statically Typed

- Dynamically Typed

- Strongly Typed

- Weakly Typed

Mehrere möglich!

Dynamically und strongly typed:

Variablen können ihren Typ während der Runtime verändern (dynamic). Variablen werden nur in wenigen Fällen implizit umgewandelt, stattdessen werden "lieber" TypeErrrors erzeugt (strongly).

Beispiel Statically Typed: Java

Beispiel Weakly Typed: Javascript

500

from collections import Counter
c = Counter("abracadabra")

Fehler oder nicht? 

Falls nicht: Was ist der Output?

Counter({'a': 5, 'b': 2, 'r': 2, 'c': 1, 'd': 1})