Основи Перетворення Типів
Перетворення типів дозволяє переходити між основними типами Python, щоб значення можна було порівнювати, обчислювати або відображати.
Перетворення у int
int(x) створює ціле число.
- З int: повертає те саме число;
- З float: відкидає дробову частину у напрямку до нуля (наприклад,
int(2.9)повертає2,int(-2.9)повертає-2); - З рядка: рядок має представляти ціле число (дозволяються пробіли та знак на початку).
Python також дозволяє підкреслення всередині цифр, наприклад,
"1_000"— але лише якщо: - Підкреслення між цифрами;
- Воно не на початку або в кінці (
"_100","100_"); - Воно не повторюється і не стоїть поруч із десятковою крапкою (
"1__000","1_.5").
Коректні перетворення
1234567age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15 print(int("1_00_0")) # 1000
Викликають ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Перетворення у float
float(x) створює число з плаваючою комою.
- Працює для цілих чисел та рядків у десятковому або науковому форматі запису (
"3.14","1e2","5E-3"); - Кома не є десятковим роздільником у Python (
"2,5","2.5"); - Python дозволяє підкреслення всередині цифр у числових рядках, але лише якщо:
- Підкреслення між цифрами;
- Воно не на початку або в кінці (
"_3.14","3.14_"); - Воно не поруч із десятковою крапкою або не повторюється (
"3_.14","3.__14"); - Науковий запис також повинен відповідати цим правилам (
"1e_3").
Коректні перетворення
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
Ці викликають ValueError
1float("2,5") # ValueError - use a dot, not a comma
Перетворення до str
str(x) створює зручне для читання рядкове представлення. Для формування повідомлень рекомендується використовувати f-рядки.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Перетворення до bool
bool(x) дотримується правил істинності Python.
- Числа:
0— цеFalse, будь-яке інше число —True; - Рядки:
""(порожній) — цеFalse, будь-який непорожній рядок —True(навіть"0"та"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Помилки, яких слід уникати
int("2.5")викликаєValueError— спочатку розпарсити якfloat(), потім обрізати або округлити;- Локальна звичка:
"2,5"є некоректним — використовуйте"2.5"; - Неочікувана істинність:
bool("0")дорівнюєTrue— порівнюйте вміст рядка явно за потреби, наприкладs == "0".
1. Який виклик призведе до ValueError?
2. Оберіть правильне твердження.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain more about how underscores work in numeric strings?
What happens if I try to convert a string with spaces or special characters to int or float?
Can you show examples of converting between these types in more complex scenarios?
Чудово!
Completion показник покращився до 3.45
Основи Перетворення Типів
Свайпніть щоб показати меню
Перетворення типів дозволяє переходити між основними типами Python, щоб значення можна було порівнювати, обчислювати або відображати.
Перетворення у int
int(x) створює ціле число.
- З int: повертає те саме число;
- З float: відкидає дробову частину у напрямку до нуля (наприклад,
int(2.9)повертає2,int(-2.9)повертає-2); - З рядка: рядок має представляти ціле число (дозволяються пробіли та знак на початку).
Python також дозволяє підкреслення всередині цифр, наприклад,
"1_000"— але лише якщо: - Підкреслення між цифрами;
- Воно не на початку або в кінці (
"_100","100_"); - Воно не повторюється і не стоїть поруч із десятковою крапкою (
"1__000","1_.5").
Коректні перетворення
1234567age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15 print(int("1_00_0")) # 1000
Викликають ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Перетворення у float
float(x) створює число з плаваючою комою.
- Працює для цілих чисел та рядків у десятковому або науковому форматі запису (
"3.14","1e2","5E-3"); - Кома не є десятковим роздільником у Python (
"2,5","2.5"); - Python дозволяє підкреслення всередині цифр у числових рядках, але лише якщо:
- Підкреслення між цифрами;
- Воно не на початку або в кінці (
"_3.14","3.14_"); - Воно не поруч із десятковою крапкою або не повторюється (
"3_.14","3.__14"); - Науковий запис також повинен відповідати цим правилам (
"1e_3").
Коректні перетворення
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
Ці викликають ValueError
1float("2,5") # ValueError - use a dot, not a comma
Перетворення до str
str(x) створює зручне для читання рядкове представлення. Для формування повідомлень рекомендується використовувати f-рядки.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Перетворення до bool
bool(x) дотримується правил істинності Python.
- Числа:
0— цеFalse, будь-яке інше число —True; - Рядки:
""(порожній) — цеFalse, будь-який непорожній рядок —True(навіть"0"та"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Помилки, яких слід уникати
int("2.5")викликаєValueError— спочатку розпарсити якfloat(), потім обрізати або округлити;- Локальна звичка:
"2,5"є некоректним — використовуйте"2.5"; - Неочікувана істинність:
bool("0")дорівнюєTrue— порівнюйте вміст рядка явно за потреби, наприкладs == "0".
1. Який виклик призведе до ValueError?
2. Оберіть правильне твердження.
Дякуємо за ваш відгук!