None та Бінарні Дані
Реальні програми обробляють відсутні значення та бінарні дані. Використовуйте None для позначення "немає значення", а bytes/bytearray — для зберігання необробленого бінарного вмісту. Важливо знати, коли кожен тип є доречним, і як безпечно конвертувати між текстом і байтами.
None для "Відсутнє значення"
None — це єдиний об'єкт, що означає "тут нічого немає".
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Використовуйте is None замість перевірок на істинність, оскільки 0 та "" також є хибними значеннями.
123value = 0 print(not value) # True print(value is None) # False
Значення за замовчуванням та резервні варіанти
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
Функції та параметри
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 та bytearray для бінарних даних
str зберігає текст, а bytes і bytearray містять необроблені байтові значення.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Кодування та декодування
UTF-8 — це текстове кодування, яке перетворює символи у байти для зберігання та передачі, підтримує всі символи Unicode і залишається сумісним з ASCII.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Змішування тексту та байтів
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Відмінності у довжині
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Файли
# with open("example.png", "rb") as f:
# blob = f.read()
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 3.45
None та Бінарні Дані
Свайпніть щоб показати меню
Реальні програми обробляють відсутні значення та бінарні дані. Використовуйте None для позначення "немає значення", а bytes/bytearray — для зберігання необробленого бінарного вмісту. Важливо знати, коли кожен тип є доречним, і як безпечно конвертувати між текстом і байтами.
None для "Відсутнє значення"
None — це єдиний об'єкт, що означає "тут нічого немає".
1234567result = None email = None print(result is None) # True print(email is None) # True if result is None: print("No result yet")
Використовуйте is None замість перевірок на істинність, оскільки 0 та "" також є хибними значеннями.
123value = 0 print(not value) # True print(value is None) # False
Значення за замовчуванням та резервні варіанти
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
Функції та параметри
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 та bytearray для бінарних даних
str зберігає текст, а bytes і bytearray містять необроблені байтові значення.
1234b1 = b"hello" b2 = bytes([72, 105]) buf = bytearray(b"abc") buf[0] = 65
Кодування та декодування
UTF-8 — це текстове кодування, яке перетворює символи у байти для зберігання та передачі, підтримує всі символи Unicode і залишається сумісним з ASCII.
123text = "café" data = text.encode("utf-8") back = data.decode("utf-8")
Змішування тексту та байтів
123456try: b"ID:" + "123" except TypeError as e: print(e) ok = b"ID:" + "123".encode("utf-8")
Відмінності у довжині
123ch = "é" len(ch) # 1 len(ch.encode()) # 2
Файли
# with open("example.png", "rb") as f:
# blob = f.read()
Дякуємо за ваш відгук!