None og binære data
Reelle programmer håndterer manglende verdier og binærdata. Bruk None for å markere “ingen verdi”, og bytes/bytearray for rå binært innhold. Vær bevisst på når hver type er hensiktsmessig, og hvordan du trygt konverterer mellom tekst og bytes.
None for “Ingen verdi”
None er et enkelt objekt som betyr “ingenting her”.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Bruk is None i stedet for sannhetsverdi-sjekker, siden 0 og "" også regnes som falske.
123value = 0 print(not value) # True print(value is None) # False
Standardverdier og reserveverdier
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
Funksjoner og parametere
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 for binære data
str inneholder tekst; bytes og bytearray inneholder rå byte-verdier.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Koding og dekoding
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Blanding av tekst og bytes
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Forskjeller i lengde
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Filer
# with open("example.png", "rb") as f:
# blob = f.read()
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain when to use `None` versus other falsey values?
How do I safely convert between text and bytes?
What are common mistakes when mixing text and binary data?
Awesome!
Completion rate improved to 3.45
None og binære data
Sveip for å vise menyen
Reelle programmer håndterer manglende verdier og binærdata. Bruk None for å markere “ingen verdi”, og bytes/bytearray for rå binært innhold. Vær bevisst på når hver type er hensiktsmessig, og hvordan du trygt konverterer mellom tekst og bytes.
None for “Ingen verdi”
None er et enkelt objekt som betyr “ingenting her”.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Bruk is None i stedet for sannhetsverdi-sjekker, siden 0 og "" også regnes som falske.
123value = 0 print(not value) # True print(value is None) # False
Standardverdier og reserveverdier
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
Funksjoner og parametere
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 for binære data
str inneholder tekst; bytes og bytearray inneholder rå byte-verdier.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Koding og dekoding
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Blanding av tekst og bytes
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Forskjeller i lengde
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Filer
# with open("example.png", "rb") as f:
# blob = f.read()
Takk for tilbakemeldingene dine!