None og Binære Data
Reelle programmer håndterer manglende værdier og binære data. Brug None til at markere “ingen værdi”, og bytes/bytearray til rå binært indhold. Kend hvornår hver type er passende, og hvordan man sikkert konverterer mellem tekst og bytes.
None til “Ingen værdi”
None er et enkelt objekt, der betyder “intet her”.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Brug is None i stedet for sandhedsværdikontrol, da 0 og "" også er falske værdier.
123value = 0 print(not value) # True print(value is None) # False
Standardværdier og Fallbacks
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
Funktioner og parametre
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 og bytearray til binære data
str indeholder tekst, bytes og bytearray indeholder rå byteværdier.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Kodning og dekodning
UTF-8 er en tekstkodning, der konverterer tegn til bytes, så de kan lagres og overføres, og den understøtter alle Unicode-tegn, samtidig med at den er kompatibel med ASCII.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Blanding af tekst og bytes
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Forskelle i længde
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Filer
# with open("example.png", "rb") as f:
# blob = f.read()
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Fantastisk!
Completion rate forbedret til 3.45
None og Binære Data
Stryg for at vise menuen
Reelle programmer håndterer manglende værdier og binære data. Brug None til at markere “ingen værdi”, og bytes/bytearray til rå binært indhold. Kend hvornår hver type er passende, og hvordan man sikkert konverterer mellem tekst og bytes.
None til “Ingen værdi”
None er et enkelt objekt, der betyder “intet her”.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Brug is None i stedet for sandhedsværdikontrol, da 0 og "" også er falske værdier.
123value = 0 print(not value) # True print(value is None) # False
Standardværdier og Fallbacks
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
Funktioner og parametre
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 og bytearray til binære data
str indeholder tekst, bytes og bytearray indeholder rå byteværdier.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Kodning og dekodning
UTF-8 er en tekstkodning, der konverterer tegn til bytes, så de kan lagres og overføres, og den understøtter alle Unicode-tegn, samtidig med at den er kompatibel med ASCII.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Blanding af tekst og bytes
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Forskelle i længde
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Filer
# with open("example.png", "rb") as f:
# blob = f.read()
Tak for dine kommentarer!