None- 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.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Verwenden Sie is None anstelle von Wahrheitswertprüfungen, da auch 0 und "" als falsey gelten.
123value = 0 print(not value) # True print(value is None) # False
Standardwerte und Rückfalloptionen
1234567x = 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
Funktionen und Parameter
1234567def 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
bytes und bytearray für Binärdaten
str speichert Text, bytes und bytearray speichern rohe Bytewerte.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
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.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Mischung von Text und Bytes
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Längenunterschiede
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Dateien
# with open("example.png", "rb") as f:
# blob = f.read()
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
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?
Großartig!
Completion Rate verbessert auf 3.45
None- 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.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Verwenden Sie is None anstelle von Wahrheitswertprüfungen, da auch 0 und "" als falsey gelten.
123value = 0 print(not value) # True print(value is None) # False
Standardwerte und Rückfalloptionen
1234567x = 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
Funktionen und Parameter
1234567def 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
bytes und bytearray für Binärdaten
str speichert Text, bytes und bytearray speichern rohe Bytewerte.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
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.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Mischung von Text und Bytes
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Längenunterschiede
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Dateien
# with open("example.png", "rb") as f:
# blob = f.read()
Danke für Ihr Feedback!