Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Основи Перетворення Типів | Взаємодія між різними типами даних
Типи Даних у Python

bookОснови Перетворення Типів

Перетворення типів дозволяє переходити між основними типами Python, щоб значення можна було порівнювати, обчислювати або відображати. У цьому розділі розглядається, як безпечно виконувати перетворення та на які помилки часто натрапляють початківці.

Перетворення до int

int(x) створює ціле число.

  • З int: повертає те саме число;
  • З float: відкидає дробову частину в напрямку до нуля (наприклад, int(2.9) повертає 2, int(-2.9) повертає -2);
  • З рядка: рядок повинен представляти ціле число (допускаються пробіли та знак).

Коректні перетворення

12345
print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
copy

Це викликає ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

Перетворення у float

float(x) створює число з плаваючою комою.

  • Працює для цілих чисел та рядків у десятковому або науковому форматі;
  • Кома не є десятковим роздільником у Python.

Коректні перетворення

123
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
copy

Ці викликають ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

Перетворення до str

str(x) створює людинозрозуміле рядкове представлення. Для формування повідомлень рекомендується використовувати f-рядки.

12345
print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
copy

Перетворення до bool

bool(x) дотримується правил істинності Python.

  • Числа: 0 — це False, будь-яке інше число — True;
  • Рядки: "" (порожній) — це False, будь-який непорожній рядок — True (навіть "0" та "False").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Поширені помилки

  • int("2.5") викликає ValueError — спочатку перетворіть на float(), потім округліть або відкиньте дробову частину;
  • Звичка локалі: "2,5" є некоректним — використовуйте "2.5";
  • Підкреслення у вхідних рядках: "1_000" некоректний — спочатку видаліть підкреслення: "1_000".replace("_", "");
  • Неочікувана істинність: bool("0") повертає True — порівнюйте вміст рядка явно, наприклад, s == "0".

1. Що повертає кожен рядок?

2. Який виклик спричиняє ValueError?

3. Оберіть правильне твердження.

question-icon

Що повертає кожен рядок?

int(3.9)
int(" -8 ")

bool("0")

Натисніть або перетягніть елементи та заповніть пропуски

question mark

Який виклик спричиняє ValueError?

Select the correct answer

question mark

Оберіть правильне твердження.

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 1

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

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

bookОснови Перетворення Типів

Свайпніть щоб показати меню

Перетворення типів дозволяє переходити між основними типами Python, щоб значення можна було порівнювати, обчислювати або відображати. У цьому розділі розглядається, як безпечно виконувати перетворення та на які помилки часто натрапляють початківці.

Перетворення до int

int(x) створює ціле число.

  • З int: повертає те саме число;
  • З float: відкидає дробову частину в напрямку до нуля (наприклад, int(2.9) повертає 2, int(-2.9) повертає -2);
  • З рядка: рядок повинен представляти ціле число (допускаються пробіли та знак).

Коректні перетворення

12345
print(int(7)) # 7 print(int(2.9)) # 2 - truncates toward zero print(int(-2.9)) # -2 print(int("42")) # 42 print(int(" -15 ")) # -15
copy

Це викликає ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

Перетворення у float

float(x) створює число з плаваючою комою.

  • Працює для цілих чисел та рядків у десятковому або науковому форматі;
  • Кома не є десятковим роздільником у Python.

Коректні перетворення

123
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0
copy

Ці викликають ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

Перетворення до str

str(x) створює людинозрозуміле рядкове представлення. Для формування повідомлень рекомендується використовувати f-рядки.

12345
print(str(42)) # "42" print(str(3.5)) # "3.5" name, score = "Ada", 98 msg = f"{name} scored {score}" print(msg)
copy

Перетворення до bool

bool(x) дотримується правил істинності Python.

  • Числа: 0 — це False, будь-яке інше число — True;
  • Рядки: "" (порожній) — це False, будь-який непорожній рядок — True (навіть "0" та "False").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Поширені помилки

  • int("2.5") викликає ValueError — спочатку перетворіть на float(), потім округліть або відкиньте дробову частину;
  • Звичка локалі: "2,5" є некоректним — використовуйте "2.5";
  • Підкреслення у вхідних рядках: "1_000" некоректний — спочатку видаліть підкреслення: "1_000".replace("_", "");
  • Неочікувана істинність: bool("0") повертає True — порівнюйте вміст рядка явно, наприклад, s == "0".

1. Що повертає кожен рядок?

2. Який виклик спричиняє ValueError?

3. Оберіть правильне твердження.

question-icon

Що повертає кожен рядок?

int(3.9)
int(" -8 ")

bool("0")

Натисніть або перетягніть елементи та заповніть пропуски

question mark

Який виклик спричиняє ValueError?

Select the correct answer

question mark

Оберіть правильне твердження.

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 1
some-alt