Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer None- en Binaire Gegevens | Kruistype-interacties
Gegevenstypen in Python

bookNone- en Binaire Gegevens

Echte programma's verwerken ontbrekende waarden en ruwe data uit bestanden of netwerken. Gebruik None om "geen waarde" aan te duiden, en bytes of bytearray voor binaire data. Dit hoofdstuk laat zien wanneer je elk gebruikt en hoe je veilig tussen tekst en bytes wisselt.

None voor "Geen Waarde"

None is een speciaal enkel object dat "niets hier" betekent.

12345678910111213
# Basic checks result = None email = None print("result is None:", result is None) # True print("email is None:", email is None) # True # Identity checks are the reliable way if result is None: print("No result yet") if email is not None: print("Email present") else: print("Email missing")
copy

None is een falsey waarde, maar dat geldt ook voor 0 en "". Gebruik bij voorkeur is None als je echt "ontbrekend" bedoelt.

123
value = 0 print("not value:", not value) # True - but 0 is a valid value print("value is None:", value is None) # False - correctly distinguishes 0 from missing
copy

Standaardwaarden en terugvalopties

1234567891011
x = None safe_or = x or "unknown" # replaces any falsey value safe_none_only = "unknown" if x is None else x print("x=None, x or 'unknown':", safe_or) # 'unknown' print("x=None, None-only fallback:", safe_none_only) # 'unknown' x = 0 safe_or = x or "unknown" safe_none_only = "unknown" if x is None else x print("x=0, x or 'unknown':", safe_or) # 'unknown' - maybe not desired print("x=0, None-only fallback:", safe_none_only) # 0 - preserves valid zero
copy

Functies en parameters

12345678910111213
def find_user(name): # returns None if not found return None def add_tag(text, tag=None): if tag is None: tag = "general" return f"[{tag}] {text}" user = find_user("Ada") print("user is None:", user is None) # True print(add_tag("hello")) # "[general] hello" print(add_tag("hello", tag="news")) # "[news] hello"
copy

bytes en bytearray voor binaire gegevens

Tekst gebruikt str en bevat Unicode-tekens. Binaire gegevens gebruiken bytes of bytearray en bevatten ruwe bytewaarden van 0-255.

123456789
# Creating binary data b1 = b"hello" # bytes literal b2 = bytes([72, 105]) # b"Hi" buf = bytearray(b"abc") # mutable buf[0] = 65 # now b"Abc" print("b1:", b1, type(b1)) # b'hello' <class 'bytes'> print("b2:", b2, type(b2)) # b'Hi' <class 'bytes'> print("buf:", buf, type(buf)) # bytearray(b'Abc') <class 'bytearray'>
copy

Tekst en bytes omzetten: Encode en Decode

1234567
text = "café" data = text.encode("utf-8") # to bytes back = data.decode("utf-8") # back to str print("text:", text, type(text)) # café <class 'str'> print("data:", data, type(data)) # b'caf\xc3\xa9' <class 'bytes'> print("back:", back, type(back)) # café <class 'str'>
copy

Tekst en bytes combineren - Ongeldig zonder conversie

123456789
# Non-valid operation with explicit error print try: bad = b"ID:" + "123" # bytes + str - not allowed except TypeError as e: print("TypeError when mixing bytes and str:", e) # Correct combination ok = b"ID:" + "123".encode("utf-8") print("combined bytes:", ok) # b'ID:123'
copy

Lengtes kunnen verschillen

123
ch = "é" print("len('é') as str:", len(ch)) # 1 character print("len('é' encoded):", len(ch.encode("utf-8")))# 2 bytes
copy

Bestanden

# Binary files yield bytes
# with open("example.png", "rb") as f:
#     blob = f.read()

1. Welke controle detecteert correct een ontbrekende waarde?

2. Welke regel combineert tekst correct met een bytes-prefix?

3. Welke bewering is correct?

question mark

Welke controle detecteert correct een ontbrekende waarde?

Select the correct answer

question mark

Welke regel combineert tekst correct met een bytes-prefix?

Select the correct answer

question mark

Welke bewering is correct?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you explain when to use `None` versus other falsey values?

How do I safely provide default values for function parameters?

What are the main differences between `bytes` and `bytearray`?

Awesome!

Completion rate improved to 5

bookNone- en Binaire Gegevens

Veeg om het menu te tonen

Echte programma's verwerken ontbrekende waarden en ruwe data uit bestanden of netwerken. Gebruik None om "geen waarde" aan te duiden, en bytes of bytearray voor binaire data. Dit hoofdstuk laat zien wanneer je elk gebruikt en hoe je veilig tussen tekst en bytes wisselt.

None voor "Geen Waarde"

None is een speciaal enkel object dat "niets hier" betekent.

12345678910111213
# Basic checks result = None email = None print("result is None:", result is None) # True print("email is None:", email is None) # True # Identity checks are the reliable way if result is None: print("No result yet") if email is not None: print("Email present") else: print("Email missing")
copy

None is een falsey waarde, maar dat geldt ook voor 0 en "". Gebruik bij voorkeur is None als je echt "ontbrekend" bedoelt.

123
value = 0 print("not value:", not value) # True - but 0 is a valid value print("value is None:", value is None) # False - correctly distinguishes 0 from missing
copy

Standaardwaarden en terugvalopties

1234567891011
x = None safe_or = x or "unknown" # replaces any falsey value safe_none_only = "unknown" if x is None else x print("x=None, x or 'unknown':", safe_or) # 'unknown' print("x=None, None-only fallback:", safe_none_only) # 'unknown' x = 0 safe_or = x or "unknown" safe_none_only = "unknown" if x is None else x print("x=0, x or 'unknown':", safe_or) # 'unknown' - maybe not desired print("x=0, None-only fallback:", safe_none_only) # 0 - preserves valid zero
copy

Functies en parameters

12345678910111213
def find_user(name): # returns None if not found return None def add_tag(text, tag=None): if tag is None: tag = "general" return f"[{tag}] {text}" user = find_user("Ada") print("user is None:", user is None) # True print(add_tag("hello")) # "[general] hello" print(add_tag("hello", tag="news")) # "[news] hello"
copy

bytes en bytearray voor binaire gegevens

Tekst gebruikt str en bevat Unicode-tekens. Binaire gegevens gebruiken bytes of bytearray en bevatten ruwe bytewaarden van 0-255.

123456789
# Creating binary data b1 = b"hello" # bytes literal b2 = bytes([72, 105]) # b"Hi" buf = bytearray(b"abc") # mutable buf[0] = 65 # now b"Abc" print("b1:", b1, type(b1)) # b'hello' <class 'bytes'> print("b2:", b2, type(b2)) # b'Hi' <class 'bytes'> print("buf:", buf, type(buf)) # bytearray(b'Abc') <class 'bytearray'>
copy

Tekst en bytes omzetten: Encode en Decode

1234567
text = "café" data = text.encode("utf-8") # to bytes back = data.decode("utf-8") # back to str print("text:", text, type(text)) # café <class 'str'> print("data:", data, type(data)) # b'caf\xc3\xa9' <class 'bytes'> print("back:", back, type(back)) # café <class 'str'>
copy

Tekst en bytes combineren - Ongeldig zonder conversie

123456789
# Non-valid operation with explicit error print try: bad = b"ID:" + "123" # bytes + str - not allowed except TypeError as e: print("TypeError when mixing bytes and str:", e) # Correct combination ok = b"ID:" + "123".encode("utf-8") print("combined bytes:", ok) # b'ID:123'
copy

Lengtes kunnen verschillen

123
ch = "é" print("len('é') as str:", len(ch)) # 1 character print("len('é' encoded):", len(ch.encode("utf-8")))# 2 bytes
copy

Bestanden

# Binary files yield bytes
# with open("example.png", "rb") as f:
#     blob = f.read()

1. Welke controle detecteert correct een ontbrekende waarde?

2. Welke regel combineert tekst correct met een bytes-prefix?

3. Welke bewering is correct?

question mark

Welke controle detecteert correct een ontbrekende waarde?

Select the correct answer

question mark

Welke regel combineert tekst correct met een bytes-prefix?

Select the correct answer

question mark

Welke bewering is correct?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3
some-alt