Модульні уроки (4/4)
Перетворення типів
Python строго типізований: він ніколи не додає рядок до числа, якщо ви не додасте його
скажи так. Для переходу від одного типу до іншого ви використовуєте функції конструктора:
int(), float(), str(), bool(), list(), tuple(), set().
int("42") # 42
float("3.14") # 3.14
str(42) # '42'
list("abc") # ['a', 'b', 'c']
tuple([1, 2]) # (1, 2)
set([1, 1, 2]) # {1, 2}int() з рядками
int("42") працює; int("42.5") підвищує ValueError. Для десяткових рядків,
спочатку пройдіть через float: int(float("42.5")) → 42 (урізає, не
круглий).
int("42") # 42
int(" 42 ") # 42 (strip automatico degli spazi)
int("42.5") # ValueError
int(float("42.5")) # 42
int("ff", 16) # 255 (base esplicita)float() з рядками
Приймає десяткову та наукову систему числення.
float("3.14") # 3.14
float("1e3") # 1000.0
float("inf") # inf
float("nan") # nanstr(): «дружнє» перетворення
str(x) внутрішньо викликає x.__str__(), щоб отримати «людське» представлення.
Існує також repr(x) для представлення «відладчика», часто більше
явні (з лапками для рядків тощо).
str(3.14) # '3.14'
str([1, 2]) # '[1, 2]'
str(True) # 'True'bool() і правдивість
bool(x) повертає False лише для фальшивих значень Python:
False,None- нульові числа:
0,0.0 - порожні контейнери:
"",[],(),{},set()
Все інше правда.
bool(0) # False
bool("") # False
bool([]) # False
bool("0") # True ! (stringa non vuota)
bool([0]) # True ! (lista non vuota, anche se contiene 0)Шаблон: аналіз безпечного введення
testo = input("età: ")
try:
eta = int(testo)
except ValueError:
print(f"non è un numero: {testo!r}")
eta = NoneБулева оцінка (правдивість)
У Python кожен об’єкт має неявне значення істинності. Ви можете перевірити логічне значення будь-якого об’єкта за допомогою функції bool(...). Порожні колекції (наприклад, "", [], {}, set()) і нульові значення (0, 0.0) завжди обчислюються як False. Усі інші об’єкти оцінюються як True.
Спробуйте
Якщо задано `a = '10'` і `b = '32'` (рядки), обчисліть `total` як їх ЦІЛУ суму. Оцініть `загальний`.
Показати підказку
int(a) + int(b), інакше ви об’єднуєте рядки.
Рішення доступне після 3 спроб
Повторна вправа
Враховуючи список `values = ['', 'x', 0, None, 1, []]`, створіть `truthy` з ТІЛЬКИ правдивими елементами за допомогою bool(). Оцініть «правдивий».
Показати підказку
Розуміння списку за допомогою фільтра bool(v) (або просто 'if v').
Рішення доступне після 3 спроб
Додатковий виклик
За наявності списку рядків \`string_numbers = ["1", "2", "3"]\`, перетворити кожен елемент на ціле число за допомогою \`int()\` і підсумувати їх разом, щоб отримати значення \`6\`. Збережіть суму в \`sum_val\` і обчисліть її.
Показати підказку
Доступ до елементів за індексом, напр. int(string_numbers[0]), і підсумуйте їх.
Рішення доступне після 3 спроб