Основи Перетворення Типів
Перетворення типів дозволяє переходити між основними типами Python, щоб значення можна було порівнювати, обчислювати або відображати. У цьому розділі розглядається, як безпечно виконувати перетворення та на які помилки часто натрапляють початківці.
Перетворення до int
int(x) створює ціле число.
- З int: повертає те саме число;
- З float: відкидає дробову частину в напрямку до нуля (наприклад,
int(2.9)повертає2,int(-2.9)повертає-2); - З рядка: рядок повинен представляти ціле число (допускаються пробіли та знак).
Коректні перетворення
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
Це викликає ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Перетворення у float
float(x) створює число з плаваючою комою.
- Працює для цілих чисел та рядків у десятковому або науковому форматі;
- Кома не є десятковим роздільником у Python.
Коректні перетворення
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Ці викликають ValueError
1float("2,5") # ValueError - use a dot, not a comma
Перетворення до str
str(x) створює людинозрозуміле рядкове представлення. Для формування повідомлень рекомендується використовувати f-рядки.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Перетворення до 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"; - Підкреслення у вхідних рядках:
"1_000"некоректний — спочатку видаліть підкреслення:"1_000".replace("_", ""); - Неочікувана істинність:
bool("0")повертаєTrue— порівнюйте вміст рядка явно, наприклад,s == "0".
1. Що повертає кожен рядок?
2. Який виклик спричиняє ValueError?
3. Оберіть правильне твердження.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain more about how type conversion works in Python?
What are some common errors beginners make with type conversion?
Can you show examples of converting between other types, like lists or dictionaries?
Awesome!
Completion rate improved to 5
Основи Перетворення Типів
Свайпніть щоб показати меню
Перетворення типів дозволяє переходити між основними типами Python, щоб значення можна було порівнювати, обчислювати або відображати. У цьому розділі розглядається, як безпечно виконувати перетворення та на які помилки часто натрапляють початківці.
Перетворення до int
int(x) створює ціле число.
- З int: повертає те саме число;
- З float: відкидає дробову частину в напрямку до нуля (наприклад,
int(2.9)повертає2,int(-2.9)повертає-2); - З рядка: рядок повинен представляти ціле число (допускаються пробіли та знак).
Коректні перетворення
12345print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
Це викликає ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Перетворення у float
float(x) створює число з плаваючою комою.
- Працює для цілих чисел та рядків у десятковому або науковому форматі;
- Кома не є десятковим роздільником у Python.
Коректні перетворення
123print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
Ці викликають ValueError
1float("2,5") # ValueError - use a dot, not a comma
Перетворення до str
str(x) створює людинозрозуміле рядкове представлення. Для формування повідомлень рекомендується використовувати f-рядки.
12345print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
Перетворення до 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"; - Підкреслення у вхідних рядках:
"1_000"некоректний — спочатку видаліть підкреслення:"1_000".replace("_", ""); - Неочікувана істинність:
bool("0")повертаєTrue— порівнюйте вміст рядка явно, наприклад,s == "0".
1. Що повертає кожен рядок?
2. Який виклик спричиняє ValueError?
3. Оберіть правильне твердження.
Дякуємо за ваш відгук!