Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära None och Binärdata | Interaktioner Mellan Olika Datatyper
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Datatyper i Python

bookNone och Binärdata

Riktiga program hanterar saknade värden och binärdata. Använd None för att markera “inget värde”, och bytes/bytearray för rå binär information. Känn till när varje typ är lämplig och hur du säkert konverterar mellan text och bytes.

None för “Inget värde”

None är ett enda objekt som betyder “inget här”.

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

Använd is None istället för sanningsvärdeskontroller, eftersom 0 och "" också är falska värden.

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

Standardvärden och reservvärden

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

Funktioner och parametrar

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 och bytearray för binärdata

str lagrar text, bytes och bytearray lagrar råa bytevärden.

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

Kodning och avkodning

UTF-8 är en textkodning som omvandlar tecken till byte så att de kan lagras och överföras, och den stöder alla Unicode-tecken samtidigt som den är kompatibel med ASCII.

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

Blanda text och bytes

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

Skillnader i längd

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

Filer

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

Vilken kontroll upptäcker korrekt ett saknat värde?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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 och Binärdata

Svep för att visa menyn

Riktiga program hanterar saknade värden och binärdata. Använd None för att markera “inget värde”, och bytes/bytearray för rå binär information. Känn till när varje typ är lämplig och hur du säkert konverterar mellan text och bytes.

None för “Inget värde”

None är ett enda objekt som betyder “inget här”.

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

Använd is None istället för sanningsvärdeskontroller, eftersom 0 och "" också är falska värden.

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

Standardvärden och reservvärden

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

Funktioner och parametrar

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 och bytearray för binärdata

str lagrar text, bytes och bytearray lagrar råa bytevärden.

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

Kodning och avkodning

UTF-8 är en textkodning som omvandlar tecken till byte så att de kan lagras och överföras, och den stöder alla Unicode-tecken samtidigt som den är kompatibel med ASCII.

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

Blanda text och bytes

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

Skillnader i längd

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

Filer

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

Vilken kontroll upptäcker korrekt ett saknat värde?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 3
some-alt