
Введение
Каждый программист хотя бы раз сталкивался с проблемой: «Почему я не могу сложить число и строку?» Или, что ещё хуже, пытался поделить на ноль и случайно сломал реальность. Давайте разберёмся, как грамотно работать со строками и числами в Python, чтобы код был логичным, ошибки – минимальными, а настроение – на высоте! 🚀
1. Строки – текстовая магия
Создание строк
Python позволяет создавать строки разными способами:
s1 = 'Привет, мир!'
s2 = "Hello, world!"
s3 = '''Тройные кавычки позволяют писать
на нескольких строках!'''
Тройные кавычки – это как магия, позволяющая делать многострочные комментарии и строки. Как будто Python говорит: «Делай, что хочешь, я не против!»
Конкатенация и умножение строк
s1 = "Привет, "
s2 = "Python!"
result = s1 + s2 # "Привет, Python!"
repeat = "Ба!" * 3 # "Ба!Ба!Ба!"
Но не пытайтесь складывать строку с числом напрямую:
age = 25
print("Мне " + age + " лет") # Ошибка!
Python будет недоволен! Нужно преобразовать число в строку:
print("Мне " + str(age) + " лет") # Всё работает!
2. Числа – серьёзная математика, но с шутками
Типы чисел в Python
int
– целые числа (42, -5, 1000000)float
– числа с плавающей точкой (3.14, -0.001)complex
– комплексные числа (1 + 2j)
Арифметические операции
x = 10
y = 3
print(x + y) # 13 (сложение)
print(x - y) # 7 (вычитание)
print(x * y) # 30 (умножение)
print(x / y) # 3.3333 (деление)
print(x // y) # 3 (целочисленное деление)
print(x % y) # 1 (остаток от деления)
print(x ** y) # 1000 (возведение в степень)
Python любит математику и даёт нам все необходимые инструменты.
3. Строки и числа: друзья или враги?
Если вам нужно вывести красивый текст с числом:
item = "яблоко"
price = 10.5
print(f"Цена {item} составляет {price:.2f} рублей") # Цена яблока составляет 10.50 рублей
Обратите внимание на {price:.2f}
– это форматирование числа, чтобы всё выглядело аккуратно.
4. Ловушки, в которые попадали все
Ловушка 1: Деление на ноль
x = 10
y = 0
print(x / y) # ZeroDivisionError
Ошибка! Лучше проверяйте y != 0
перед делением.
Ловушка 2: Ошибочное преобразование
s = "100"
print(s + 50) # TypeError!
Используйте int(s) + 50
, и всё будет хорошо.
Ловушка 3: Лишние пробелы
s = " 42 "
print(int(s)) # Работает, но если там буквы – ошибка!
Лучше использовать strip()
:
print(int(s.strip())) # 42
Итог
Работа со строками и числами – это весело, если знать все хитрости! Будьте внимательны с типами данных, не пытайтесь сложить несовместимое, а главное – пишите код с удовольствием!