Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele None ja binaaridata | Ristikkäistyyppiset Vuorovaikutukset
Tietotyypit Pythonissa

bookNone ja binaaridata

Todelliset ohjelmat käsittelevät puuttuvia arvoja ja binääritietoa. Käytä None-arvoa merkitsemään "ei arvoa", ja bytes/bytearray raakadatan tallentamiseen. Tiedä, milloin kumpaakin käytetään ja miten muunnetaan turvallisesti tekstin ja tavujen välillä.

None “ei arvoa” varten

None on yksittäinen olio, joka tarkoittaa "ei mitään tässä".

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

Käytä is None totuusarvotarkistusten sijaan, koska myös 0 ja "" ovat epätosia.

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

Oletusarvot ja vararatkaisut

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

Funktiot ja parametrit

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 ja bytearray binääridatalle

str sisältää tekstiä, bytes ja bytearray sisältävät raakoja tavuarvoja.

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

Koodaus ja dekoodaus

UTF-8 on tekstin koodausmenetelmä, joka muuntaa merkit tavuiksi, jotta ne voidaan tallentaa ja siirtää. Se tukee kaikkia Unicode-merkkejä ja on yhteensopiva ASCII:n kanssa.

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

Tekstin ja tavujen yhdistäminen

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

Pituuserot

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

Tiedostot

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

Mikä tarkistus tunnistaa puuttuvan arvon oikein?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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 ja binaaridata

Pyyhkäise näyttääksesi valikon

Todelliset ohjelmat käsittelevät puuttuvia arvoja ja binääritietoa. Käytä None-arvoa merkitsemään "ei arvoa", ja bytes/bytearray raakadatan tallentamiseen. Tiedä, milloin kumpaakin käytetään ja miten muunnetaan turvallisesti tekstin ja tavujen välillä.

None “ei arvoa” varten

None on yksittäinen olio, joka tarkoittaa "ei mitään tässä".

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

Käytä is None totuusarvotarkistusten sijaan, koska myös 0 ja "" ovat epätosia.

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

Oletusarvot ja vararatkaisut

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

Funktiot ja parametrit

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 ja bytearray binääridatalle

str sisältää tekstiä, bytes ja bytearray sisältävät raakoja tavuarvoja.

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

Koodaus ja dekoodaus

UTF-8 on tekstin koodausmenetelmä, joka muuntaa merkit tavuiksi, jotta ne voidaan tallentaa ja siirtää. Se tukee kaikkia Unicode-merkkejä ja on yhteensopiva ASCII:n kanssa.

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

Tekstin ja tavujen yhdistäminen

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

Pituuserot

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

Tiedostot

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

Mikä tarkistus tunnistaa puuttuvan arvon oikein?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 3
some-alt