Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen None- und Binärdaten | Interaktionen Zwischen Datentypen
Datentypen in Python

bookNone- und Binärdaten

Reale Programme verarbeiten fehlende Werte und Binärdaten. Verwenden Sie None, um „kein Wert“ zu kennzeichnen, und bytes/bytearray für rohe Binärinhalte. Verstehen Sie, wann welcher Typ geeignet ist und wie Sie sicher zwischen Text und Bytes konvertieren.

None für „Kein Wert“

None ist ein einzelnes Objekt, das „nichts vorhanden“ bedeutet.

1234567
result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
copy

Verwenden Sie is None anstelle von Wahrheitswertprüfungen, da auch 0 und "" als falsey gelten.

123
value = 0 print(not value) # True print(value is None) # False
copy

Standardwerte und Rückfalloptionen

1234567
x = None print(x or "unknown") # 'unknown' print("unknown" if x is None else x) x = 0 print(x or "unknown") # 'unknown' (maybe wrong) print("unknown" if x is None else x) # 0
copy

Funktionen und Parameter

1234567
def add_tag(text, tag=None): if tag is None: tag = "general" return f"[{tag}] {text}" print(add_tag("hello")) # [general] hello print(add_tag("hello", "news")) # [news] hello
copy

bytes und bytearray für Binärdaten

str speichert Text, bytes und bytearray speichern rohe Bytewerte.

1234
b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
copy

Kodierung und Dekodierung

UTF-8 ist eine Textkodierung, die Zeichen in Bytes umwandelt, sodass sie gespeichert und übertragen werden können. Sie unterstützt alle Unicode-Zeichen und bleibt dabei mit ASCII kompatibel.

123
text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
copy

Mischung von Text und Bytes

123456
try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
copy

Längenunterschiede

123
ch = "é" len(ch) # 1 len(ch.encode()) # 2
copy

Dateien

# with open("example.png", "rb") as f:
#     blob = f.read()
question mark

Welche Überprüfung erkennt korrekt einen fehlenden Wert?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain when to use None versus an empty string or zero?

How do I safely convert between bytes and strings in Python?

What are common mistakes to avoid when working with None and binary data?

bookNone- und Binärdaten

Swipe um das Menü anzuzeigen

Reale Programme verarbeiten fehlende Werte und Binärdaten. Verwenden Sie None, um „kein Wert“ zu kennzeichnen, und bytes/bytearray für rohe Binärinhalte. Verstehen Sie, wann welcher Typ geeignet ist und wie Sie sicher zwischen Text und Bytes konvertieren.

None für „Kein Wert“

None ist ein einzelnes Objekt, das „nichts vorhanden“ bedeutet.

1234567
result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
copy

Verwenden Sie is None anstelle von Wahrheitswertprüfungen, da auch 0 und "" als falsey gelten.

123
value = 0 print(not value) # True print(value is None) # False
copy

Standardwerte und Rückfalloptionen

1234567
x = None print(x or "unknown") # 'unknown' print("unknown" if x is None else x) x = 0 print(x or "unknown") # 'unknown' (maybe wrong) print("unknown" if x is None else x) # 0
copy

Funktionen und Parameter

1234567
def add_tag(text, tag=None): if tag is None: tag = "general" return f"[{tag}] {text}" print(add_tag("hello")) # [general] hello print(add_tag("hello", "news")) # [news] hello
copy

bytes und bytearray für Binärdaten

str speichert Text, bytes und bytearray speichern rohe Bytewerte.

1234
b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
copy

Kodierung und Dekodierung

UTF-8 ist eine Textkodierung, die Zeichen in Bytes umwandelt, sodass sie gespeichert und übertragen werden können. Sie unterstützt alle Unicode-Zeichen und bleibt dabei mit ASCII kompatibel.

123
text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
copy

Mischung von Text und Bytes

123456
try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
copy

Längenunterschiede

123
ch = "é" len(ch) # 1 len(ch.encode()) # 2
copy

Dateien

# with open("example.png", "rb") as f:
#     blob = f.read()
question mark

Welche Überprüfung erkennt korrekt einen fehlenden Wert?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 3
some-alt