Что такое переменная?

Переменная - это именованная область памяти, которая хранит значение. В Python переменные создаются в момент присваивания значения.

Теория: Как работают переменные

Представьте переменную как коробку с этикеткой. Этикетка - это имя переменной, а содержимое коробки - значение переменной. В Python:

  • Когда вы пишете x = 5, Python создает "коробку" с именем x и кладет в нее значение 5
  • Позже вы можете изменить содержимое коробки: x = 10 - теперь в коробке x лежит 10
  • Вы можете посмотреть, что лежит в коробке, просто написав её имя: print(x)
Как это работает

Когда вы пишете x = 5, Python:

  1. Создает объект со значением 5
  2. Создает переменную с именем x
  3. Связывает переменную x с объектом 5

Создание переменных

В Python переменные создаются простым присваиванием значения:

variables.py
# Создание переменных
name = "Анна"        # строка
age = 25            # целое число
height = 1.65        # число с плавающей точкой
is_student = True    # булево значение

# Вывод значений переменных
print("Имя:", name)
print("Возраст:", age)
print("Рост:", height, "м")
print("Студент:", is_student)
Практическое объяснение

В этом примере мы создаем 4 переменные:

  1. name = "Анна" - строковая переменная (тип данных str), хранит текст
  2. age = 25 - целочисленная переменная (тип данных int), хранит число без дробной части
  3. height = 1.65 - переменная с плавающей точкой (тип данных float), хранит число с дробной частью
  4. is_student = True - булева переменная (тип данных bool), хранит логическое значение (True или False)

Функция print() выводит значения переменных на экран. Мы можем выводить несколько значений через запятую.

Типы данных в Python

Python имеет несколько встроенных типов данных:

Теория: Что такое типы данных?

Тип данных определяет, какие значения может хранить переменная и какие операции можно с ней выполнять. Например:

  • С числами можно выполнять математические операции (+, -, *, /)
  • Со строками можно выполнять операции конкатенации (соединения)
  • С булевыми значениями можно выполнять логические операции (and, or, not)
Тип данных Описание Пример Операции
int Целые числа 42, -3, 0 +, -, *, /, //, %, **
float Числа с плавающей точкой 3.14, -0.001, 2.0 +, -, *, /, **
str Строки (текст) "Привет", 'Мир' +, *, срезы, методы строк
bool Булевы значения True, False and, or, not
NoneType Специальное значение None None Проверка на равенство

Проверка типа данных

Для проверки типа переменной используется функция type():

type_check.py
age = 25
name = "Анна"
height = 1.65
is_student = True

print("Тип age:", type(age))
print("Тип name:", type(name))
print("Тип height:", type(height))
print("Тип is_student:", type(is_student))
Практическое объяснение

Функция type() возвращает тип данных переменной:

  • type(age) вернет <class 'int'> - целое число
  • type(name) вернет <class 'str'> - строка
  • type(height) вернет <class 'float'> - число с плавающей точкой
  • type(is_student) вернет <class 'bool'> - булево значение

Знание типа данных важно для понимания, какие операции можно выполнять с переменной.

Преобразование типов

Иногда необходимо преобразовать значение из одного типа в другой:

Теория: Зачем нужно преобразование типов?

Преобразование типов необходимо в следующих случаях:

  • Когда нужно выполнить математические операции с данными, введенными пользователем (они приходят как строки)
  • Когда нужно вывести число в сообщении (нужно преобразовать в строку)
  • Когда нужно округлить число с плавающей точкой до целого
type_conversion.py
# Преобразование строки в число
string_number = "123"
integer_number = int(string_number)
print("Целое число:", integer_number, type(integer_number))

# Преобразование числа в строку
number = 456
string_from_number = str(number)
print("Строка:", string_from_number, type(string_from_number))

# Преобразование целого числа в число с плавающей точкой
int_number = 789
float_number = float(int_number)
print("Число с плавающей точкой:", float_number, type(float_number))
Практическое объяснение

Функции преобразования типов:

  • int() - преобразует значение в целое число
  • float() - преобразует значение в число с плавающей точкой
  • str() - преобразует значение в строку
  • bool() - преобразует значение в булево значение

Важно: преобразование возможно только если значение может быть корректно преобразовано. Например, строку "abc" нельзя преобразовать в число.

Осторожно!

Попытка преобразовать некорректную строку в число приведет к ошибке:

# Это вызовет ошибку ValueError
# int("abc")

Именование переменных

Правила именования переменных в Python:

Теория: Хорошие имена переменных

Хорошие имена переменных:

  • Описательные - понятно, что хранит переменная
  • На английском языке - это стандарт в программировании
  • Следуют стилю snake_case - слова разделяются подчеркиванием
Правильные имена
name = "Анна"
user_age = 25
_max_value = 100
temp2 = 36.6
Неправильные имена
2name = "Анна"    # Начинается с цифры
user-age = 25     # Содержит дефис
class = "Python"  # Ключевое слово

Константы

Хотя Python не имеет встроенной поддержки констант, по соглашению имена переменных, записанные ЗАГЛАВНЫМИ_БУКВАМИ, считаются константами:

constants.py
# Константы (по соглашению)
PI = 3.14159
GRAVITY = 9.8
MAX_USERS = 1000

print("Значение PI:", PI)
print("Ускорение свободного падения:", GRAVITY)
print("Максимальное количество пользователей:", MAX_USERS)
Практическое объяснение

Константы - это переменные, значения которых не должны изменяться в процессе выполнения программы. Их используют для:

  • Математических констант (π, e)
  • Физических констант (ускорение свободного падения)
  • Настроек программы (максимальное количество попыток, размер страницы)

Использование констант делает код более читаемым и облегчает его изменение в будущем.

Практические задания

Теория: Как выполнять задания

Для выполнения заданий следуйте этим шагам:

  1. Прочитайте задание внимательно и поймите, что от вас требуется
  2. Определите, какие переменные вам нужно создать
  3. Подумайте, какие типы данных вам понадобятся
  4. Напишите код по шагам, проверяя каждый шаг
  5. Используйте print() для проверки результатов
Задания
  1. Создание персональной карточки: Создайте переменные для хранения вашего имени, возраста, города проживания и любимого хобби. Выведите информацию о вас на экран в виде карточки. Подсказка: используйте f-строки для форматирования вывода.
  2. Работа с возрастом: Создайте переменную с вашим текущим возрастом. Создайте переменную с вашим возрастом через 10 лет (используя арифметическую операцию). Преобразуйте ваш текущий возраст в строку и выведите его тип. Подсказка: используйте функции int() и str() для преобразования типов.
  3. Геометрический калькулятор: Создайте переменные для хранения длины и ширины прямоугольника. Вычислите его площадь (длина * ширина) и периметр (2 * (длина + ширина)). Выведите результаты. Подсказка: используйте переменные с понятными именами.
  4. Преобразование данных: Попробуйте преобразовать строку "123" в целое число, а затем в число с плавающей точкой. Выведите результаты и их типы. Затем попробуйте преобразовать строку "45.67" в число с плавающей точкой. Подсказка: используйте функции int(), float() и type().
  5. Конвертер температуры: Создайте переменную для хранения температуры в градусах Цельсия. Преобразуйте её в градусы Фаренгейта по формуле F = C * 9/5 + 32. Выведите оба значения. Подсказка: используйте float для хранения температуры.
  6. Анализ текста: Создайте переменную с вашим именем. Выведите длину имени (функция len()), первый символ имени и последний символ имени. Подсказка: используйте индексацию строк (name[0] для первого символа).
Решения:

Задание 1: Создание персональной карточки

name = "Анна"
age = 25
city = "Москва"
hobby = "чтение"

print("=" * 30)
print("ПЕРСОНАЛЬНАЯ КАРТОЧКА")
print("=" * 30)
print(f"Имя: {name}")
print(f"Возраст: {age} лет")
print(f"Город: {city}")
print(f"Хобби: {hobby}")
print("=" * 30)

Задание 2: Работа с возрастом

current_age = 25
future_age = current_age + 10
age_string = str(current_age)

print(f"Текущий возраст: {current_age}")
print(f"Возраст через 10 лет: {future_age}")
print(f"Возраст в строковом формате: {age_string}")
print(f"Тип переменной age_string: {type(age_string)}")

Задание 3: Геометрический калькулятор

length = 10.5  # длина прямоугольника
width = 5.2    # ширина прямоугольника

area = length * width           # площадь
perimeter = 2 * (length + width)  # периметр

print(f"Длина прямоугольника: {length}")
print(f"Ширина прямоугольника: {width}")
print(f"Площадь прямоугольника: {area}")
print(f"Периметр прямоугольника: {perimeter}")

Задание 4: Преобразование данных

# Преобразование строки "123"
string_num = "123"
int_num = int(string_num)
float_num = float(string_num)

print(f"Исходная строка: {string_num}")
print(f"Целое число: {int_num}, тип: {type(int_num)}")
print(f"Число с плавающей точкой: {float_num}, тип: {type(float_num)}")

# Преобразование строки "45.67"
string_float = "45.67"
converted_float = float(string_float)

print(f"Исходная строка: {string_float}")
print(f"Преобразованное число: {converted_float}, тип: {type(converted_float)}")

Задание 5: Конвертер температуры

celsius = 25.0  # температура в градусах Цельсия
fahrenheit = celsius * 9/5 + 32  # преобразование в Фаренгейты

print(f"Температура в Цельсиях: {celsius}°C")
print(f"Температура в Фаренгейтах: {fahrenheit}°F")

Задание 6: Анализ текста

name = "Анна"
name_length = len(name)
first_char = name[0]
last_char = name[-1]  # или name[len(name)-1]

print(f"Имя: {name}")
print(f"Длина имени: {name_length} символа")
print(f"Первый символ: {first_char}")
print(f"Последний символ: {last_char}")
Предыдущий урок Следующий урок