Données None et Binaires
Les programmes réels gèrent les valeurs manquantes et les données binaires. Utiliser None pour indiquer « aucune valeur », et bytes/bytearray pour le contenu binaire brut. Savoir quand chaque type est approprié et comment convertir en toute sécurité entre texte et octets.
None pour « Aucune valeur »
None est un objet unique signifiant « rien ici ».
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Utiliser is None au lieu de vérifications de véracité, car 0 et "" sont également évalués comme faux.
123value = 0 print(not value) # True print(value is None) # False
Valeurs par défaut et solutions de repli
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
Fonctions et paramètres
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 et bytearray pour les données binaires
str contient du texte ; bytes et bytearray contiennent des valeurs d'octets brutes.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Encodage et décodage
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Mélange de texte et d'octets
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Différences de longueur
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Fichiers
# with open("example.png", "rb") as f:
# blob = f.read()
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain when to use `None` versus other falsey values?
How do I safely convert between text and bytes?
What are common mistakes when mixing text and binary data?
Awesome!
Completion rate improved to 3.45
Données None et Binaires
Glissez pour afficher le menu
Les programmes réels gèrent les valeurs manquantes et les données binaires. Utiliser None pour indiquer « aucune valeur », et bytes/bytearray pour le contenu binaire brut. Savoir quand chaque type est approprié et comment convertir en toute sécurité entre texte et octets.
None pour « Aucune valeur »
None est un objet unique signifiant « rien ici ».
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Utiliser is None au lieu de vérifications de véracité, car 0 et "" sont également évalués comme faux.
123value = 0 print(not value) # True print(value is None) # False
Valeurs par défaut et solutions de repli
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
Fonctions et paramètres
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 et bytearray pour les données binaires
str contient du texte ; bytes et bytearray contiennent des valeurs d'octets brutes.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Encodage et décodage
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Mélange de texte et d'octets
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Différences de longueur
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Fichiers
# with open("example.png", "rb") as f:
# blob = f.read()
Merci pour vos commentaires !