None e Dados Binários
Programas reais lidam com valores ausentes e dados binários. Utilize None para indicar “sem valor” e bytes/bytearray para conteúdo binário bruto. Compreenda quando cada um é apropriado e como converter com segurança entre texto e bytes.
None para “Sem Valor”
None é um único objeto que significa “nada aqui”.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Utilize is None em vez de verificações de veracidade, pois 0 e "" também são considerados falsos.
123value = 0 print(not value) # True print(value is None) # False
Valores padrão e alternativas
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
Funções e Parâmetros
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 para Dados Binários
str armazena texto, bytes e bytearray armazenam valores brutos de bytes.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Codificação e Decodificação
UTF-8 é uma codificação de texto que converte caracteres em bytes para que possam ser armazenados e transmitidos, suportando todos os caracteres Unicode e mantendo compatibilidade com ASCII.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Mistura de Texto e Bytes
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Diferenças de Comprimento
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Arquivos
# with open("example.png", "rb") as f:
# blob = f.read()
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Incrível!
Completion taxa melhorada para 3.45
None e Dados Binários
Deslize para mostrar o menu
Programas reais lidam com valores ausentes e dados binários. Utilize None para indicar “sem valor” e bytes/bytearray para conteúdo binário bruto. Compreenda quando cada um é apropriado e como converter com segurança entre texto e bytes.
None para “Sem Valor”
None é um único objeto que significa “nada aqui”.
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Utilize is None em vez de verificações de veracidade, pois 0 e "" também são considerados falsos.
123value = 0 print(not value) # True print(value is None) # False
Valores padrão e alternativas
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
Funções e Parâmetros
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 para Dados Binários
str armazena texto, bytes e bytearray armazenam valores brutos de bytes.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Codificação e Decodificação
UTF-8 é uma codificação de texto que converte caracteres em bytes para que possam ser armazenados e transmitidos, suportando todos os caracteres Unicode e mantendo compatibilidade com ASCII.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Mistura de Texto e Bytes
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Diferenças de Comprimento
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Arquivos
# with open("example.png", "rb") as f:
# blob = f.read()
Obrigado pelo seu feedback!