Dati None e Binari
I programmi reali gestiscono valori mancanti e dati binari. Utilizzare None per indicare “nessun valore” e bytes/bytearray per contenuti binari grezzi. Comprendere quando ciascuno è appropriato e come convertire in modo sicuro tra testo e byte.
None per “Nessun Valore”
None è un singolo oggetto che significa “nessun valore presente”.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Utilizzare is None invece di controlli di veridicità, poiché 0 e "" sono anch'essi valori falsi.
123value = 0 print(not value) # True print(value is None) # False
Valori predefiniti e alternative
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
Funzioni e Parametri
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 e bytearray per Dati Binari
str contiene testo, bytes e bytearray contengono valori di byte grezzi.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Codifica e Decodifica
UTF-8 è una codifica di testo che converte i caratteri in byte per consentirne la memorizzazione e la trasmissione; supporta tutti i caratteri Unicode ed è compatibile con ASCII.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Combinazione di testo e byte
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Differenze di lunghezza
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
File
# with open("example.png", "rb") as f:
# blob = f.read()
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Fantastico!
Completion tasso migliorato a 3.45
Dati None e Binari
Scorri per mostrare il menu
I programmi reali gestiscono valori mancanti e dati binari. Utilizzare None per indicare “nessun valore” e bytes/bytearray per contenuti binari grezzi. Comprendere quando ciascuno è appropriato e come convertire in modo sicuro tra testo e byte.
None per “Nessun Valore”
None è un singolo oggetto che significa “nessun valore presente”.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Utilizzare is None invece di controlli di veridicità, poiché 0 e "" sono anch'essi valori falsi.
123value = 0 print(not value) # True print(value is None) # False
Valori predefiniti e alternative
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
Funzioni e Parametri
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 e bytearray per Dati Binari
str contiene testo, bytes e bytearray contengono valori di byte grezzi.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Codifica e Decodifica
UTF-8 è una codifica di testo che converte i caratteri in byte per consentirne la memorizzazione e la trasmissione; supporta tutti i caratteri Unicode ed è compatibile con ASCII.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Combinazione di testo e byte
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Differenze di lunghezza
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
File
# with open("example.png", "rb") as f:
# blob = f.read()
Grazie per i tuoi commenti!