Найти тему
КУЗИНОБИТ

Урок 2: Переменные и типы данных в Python.

Оглавление

Добро пожаловать на второй урок нашего курса по программированию на Python! В первом уроке мы познакомились с языком Python и написали нашу первую программу "Hello, World!". Сегодня мы изучим переменные и типы данных в Python, а также рассмотрим правила оформления кода и лучшие практики написания программ.

В данную статью добавлены ссылки на github в каждом примере. Так же общая ссылка на github для данного урока:
python_course/lesson_2 at main · kuzinobit/python_course

Переменные в Python.

Переменная — это именованный контейнер для хранения данных. Она позволяет программам сохранять информацию и использовать её позже в коде.

Представьте переменную как коробку с ярлыком (именем), в которую вы можете положить значение и затем обращаться к этому значению по имени.

-2

Присваивание значений переменным:

python_course/lesson_2/variable.py at main · kuzinobit/python_course
Присваивание значений переменным.
Присваивание значений переменным.

В Python присваивание значения переменной выполняется с помощью оператора =.

message = "Привет, мир!"
number = 42
pi = 3.1416

message, number, pi — имена переменных.

"Привет, мир!", 42, 3.1416 — значения, присвоенные переменным.

Правила именования (синтаксис):

python_course/lesson_2/syntax.py at main · kuzinobit/python_course
Правила именования (синтаксис)
Правила именования (синтаксис)

Буквы, цифры и символ подчеркивания: Имена переменных могут содержать буквы (латинские), цифры и символ подчеркивания _.

# Корректно
my_variable = 10
variable123 = "hello"
_hidden_variable = True

Не начинать с цифры: Имя переменной не может начинаться с цифры.

# Некорректно:
2nd_variable = "error" # Ошибка

Регистр имеет значение: Переменные Age и age считаются разными.

# Разные переменные
age = 20
Age = 30

Соглашения по стилю (рекомендуется):

python_course/lesson_2/style.py at main · kuzinobit/python_course
Соглашения по стилю.
Соглашения по стилю.

Используйте понятные имена: Имена переменных должны отражать их содержание или назначение.

# Понятные имена
count = 5
total_price = 150.75

Стиль snake_case: Используйте символ подчеркивания для разделения слов.

# snake_case
user_name = "Анна"
max_value = 100

Не используйте зарезервированные слова: Такие как print, if, for, class и другие ключевые слова Python.

# Некорректно:
if = 10 # Ошибка

P.S. Полный список зарезервированных слов можно посмотреть в ранее выложенной статье на моем Дзен канале:

Примеры корректных и некорректных имен:

Корректные имена:

python_course/lesson_2/correct_name.py at main · kuzinobit/python_course
Корректные имена переменных.
Корректные имена переменных.
age = 25
first_name = "Иван"
last_name = "Петров"
user2 = "Мария"

Некорректные имена:

python_course/lesson_2/incorrect_name.py at main · kuzinobit/python_course
Некорректные имена переменных.
Некорректные имена переменных.
2name = "Анна" # Ошибка: начинается с цифры
first-name = "Олег" # Ошибка: использование дефиса
class = "10A" # Ошибка: зарезервированное слово

Примеры использования переменных:

python_course/lesson_2/use_variable.py at main · kuzinobit/python_course
Пример использования переменных.
Пример использования переменных.
name = "Мария"
age = 22
print("Имя:", name)
print("Возраст:", age)

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

Python автоматически определяет тип данных переменной при присваивании значения. Знание типов данных важно для понимания того, как Python обрабатывает информацию.

python_course/lesson_2/type_variable.py at main · kuzinobit/python_course
Типы переменных.
Типы переменных.

Целые числа (int):

Представляют целые числа без дробной части.

# Целые числа (int)
age = 30
temperature = -5

Числа с плавающей точкой (float):

Представляют вещественные числа с дробной частью.

# Числа с плавающей точкой (float)
pi = 3.1416
weight = 65.5

Логический тип (bool):

Может иметь два значения: True (истина) или False (ложь).

Используется для представления результатов сравнений и логических выражений.

# Логический тип (bool)
is_active = True
has_permission = False

Строки (str):

Последовательность символов, используемая для хранения текстовых данных.

Строки можно заключать в одинарные ' ', двойные " " или тройные кавычки ''' ''' / """ """.

# Строки (str)
message = "Hello, World!"
name = 'Иван'
multi_line_text = """Это многострочный
текст"""

Тип None:

Специальный тип, представляющий отсутствие значения.

Используется для инициализации переменных, значение которых ещё не определено.

result = None

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

python_course/lesson_2/func_type.py at main · kuzinobit/python_course
Проверка типа данных при помощи функции type().
Проверка типа данных при помощи функции type().

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

number = 10
print(type(number)) # <class 'int'>
text = "Hello"
print(type(text)) # <class 'str'>

Преобразование типов (приведение типов).

Иногда возникает необходимость преобразовать значение из одного типа данных в другой. Это называется приведением типов.

Неявное преобразование.

python_course/lesson_2/implicit.py at main · kuzinobit/python_course
Пример неявного преобразования.
Пример неявного преобразования.

Python автоматически выполняет неявное преобразование типов в некоторых случаях, например, при операциях с int и float.

# Неявное преобразование
integer_number = 5 # int
float_number = 2.5 # float
result = integer_number + float_number
print(result) # 7.5
print(type(result)) # <class 'float'>

Явное преобразование.

python_course/lesson_2/explicit.py at main · kuzinobit/python_course
Пример явного преобразования.
Пример явного преобразования.

Для явного преобразования типов используются специальные функции:

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

Примеры:

# Явное преобразование

# Преобразование строки в число
age_str = "30"
age_int = int(age_str)
print(age_int) # 30
print(type(age_int)) # <class 'int'>

# Преобразование числа в строку
number = 100
number_str = str(number)
print(number_str) # "100"
print(type(number_str)) # <class 'str'>

# Преобразование числа с плавающей точкой в целое число
pi = 3.1416
pi_int = int(pi)
print(pi_int) # 3
print(type(pi_int)) # <class 'int'>

# Преобразование числа в логическое значение
zero = 0
one = 1
print(bool(zero)) # False
print(bool(one)) # True

Ошибки при преобразовании.

python_course/lesson_2/error_conversion.py at main · kuzinobit/python_course
Пример ошибки при преобразовании.
Пример ошибки при преобразовании.

При преобразовании типов важно следить за тем, чтобы данные могли быть корректно преобразованы.

# Некорректное преобразование строки в число
value = "abc"
number = int(value) # Ошибка ValueError

Как правильно писать код на Python.

Хорошо оформленный и читаемый код облегчает его понимание, поддержку и развитие. Python имеет ряд соглашений по стилю кода, известных как PEP 8.

Правильное форматирование и отступы:

python_course/lesson_2/formatting_and_indentation.py at main · kuzinobit/python_course
-14

Используйте 4 пробела для отступов: Отступы используются для обозначения блоков кода (например, внутри функций или циклов).

# Пример правильных отступов
if True:
print("Это внутри блока if")

!! Не используйте табуляцию: Рекомендуется использовать пробелы вместо символов табуляции.

Длина строки:

python_course/lesson_2/line_lenght.py at main · kuzinobit/python_course
Пример с переносом строки из-за ее длины.
Пример с переносом строки из-за ее длины.

Ограничьте длину строки 79 символами: Это делает код более читаемым на разных устройствах и экранах.

# Если строка слишком длинная, разбейте её


text = (
"Это очень длинная строка, которая превышает 79 символов, поэтому мы "
"разбиваем её на две строки."
)

Пробелы:

python_course/lesson_2/spaces.py at main · kuzinobit/python_course
Примеры корректного и некорректного использования пробелов.
Примеры корректного и некорректного использования пробелов.

Добавляйте пробелы вокруг операторов: Это улучшает читаемость.

b = 1 # Хорошо
c = 2 # Хорошо
a = b + c # Хорошо

Не ставьте пробелы внутри скобок:

func(a, b) # Хорошо
func( a, b ) # Плохо

Комментарии:

python_course/lesson_2/comments.py at main · kuzinobit/python_course
Пример корректного использования комментариев.
Пример корректного использования комментариев.

Используйте комментарии для пояснения кода: Комментарии помогают понять, что делает код.

pi = 3,14 # Значение Пи
radius = 30 # Радиус в см

# Вычисляем площадь круга
area = pi * radius ** 2

!! Комментарий должен быть на той же строке или над кодом, который он поясняет.

Именование:

python_course/lesson_2/names.py at main · kuzinobit/python_course
Пример использования snake_case и именование констант.
Пример использования snake_case и именование констант.

Функции и переменные: Используйте стиль snake_case (строчные буквы с подчеркиваниями).

total_sum = 100

Константы: Используйте верхний регистр.

MAX_CONNECTIONS = 100

Лучшие практики:

Пишите простой и понятный код: Отдавайте предпочтение простым конструкциям.

Избегайте повторения кода: Если вы пишете один и тот же код несколько раз, подумайте о том, чтобы использовать переменные и функции (о них будем говорить в след. уроках).

Следуйте принципу "Одно действие — одна строка кода": Это облегчает чтение и отладку.

Практические примеры.

В данном блоке я написал общие практические примеры по пройденному материалу. Вы можете скачать эти примеры из GitHub и попробовать запустить их у себя.

Пример 1. Работа с разными типами данных:

python_course/lesson_2/example_1.py at main · kuzinobit/python_course
Пример работы с разными типами данных.
Пример работы с разными типами данных.
# Целое число
age = 25
print("Возраст:", age)
print("Тип данных:", type(age)) # <class 'int'>
# Число с плавающей точкой
height = 1.75
print("Рост:", height)
print("Тип данных:", type(height)) # <class 'float'>

# Строка
name = "Александр"
print("Имя:", name)
print("Тип данных:", type(name)) # <class 'str'>

# Логическое значение
is_student = True
print("Студент:", is_student)
print("Тип данных:", type(is_student)) # <class 'bool'>

Пример 2. Преобразование типов:

python_course/lesson_2/example_2.py at main · kuzinobit/python_course
Пример преобразования типов.
Пример преобразования типов.
# Преобразование строки в число
number_str = "100"
number_int = int(number_str)
print("Число:", number_int)
print("Тип данных:", type(number_int)) # <class 'int'>
# Преобразование числа в строку
age = 30 age_str = str(age)
print("Возраст:", age_str)
print("Тип данных:", type(age_str)) # <class 'str'>
# Преобразование числа с плавающей точкой в целое число
pi = 3.1416 pi_int = int(pi)
print(pi_int) # 3
print(type(pi_int)) # <class 'int'>

Пример 3. Работа с переменными и вывод информации:

python_course/lesson_2/example_3.py at main · kuzinobit/python_course
Пример работы с переменными и вывод информации.
Пример работы с переменными и вывод информации.
# Информация о пользователе
user_name = "Мария"
user_age = 22
# Вывод информации
print("Имя пользователя:", user_name)
print("Возраст пользователя:", user_age)

Заключение второго урока.

Сегодня мы изучили:

  • Что такое переменные и как их использовать в Python.
  • Различные типы данных и их особенности.
  • Преобразование типов данных и возможные ошибки.
  • Правила и соглашения по написанию чистого и понятного кода.
  • Лучшие практики оформления и именования в Python.

Понимание переменных и типов данных является фундаментом для дальнейшего изучения программирования. Умение правильно преобразовывать типы данных и избегать распространённых ошибок поможет вам писать более надёжный код.

Домашнее задание:

Задание 1: Информация о книге.

  1. Создайте переменные для хранения информации о книге:

title — название книги (строка)
author — автор книги (строка)
pages — количество страниц (целое число)
price — цена книги (число с плавающей точкой)

2. Присвойте переменным значения по вашему выбору.

3. Выведите информацию о книге в формате:

Название книги: <Название>
Автор: <Автор>
Страниц: <Кол-во>
Цена: <Цена> руб.

Задание 2: Создание и вывод списка покупок.

  1. Создайте переменные для трёх продуктов, которые вы хотите купить в магазине. Каждая переменная должна содержать название продукта (строка).
  2. Создайте переменную shopping_list, которая объединяет эти продукты в одну строку, разделённую запятыми.
  3. Выведите на экран ваш список покупок.

Задание 3: Правильное оформление кода.

  1. Исправьте ошибки в следующем коде, чтобы он соответствовал рекомендациям по оформлению и правильно выполнялся:
1_number=10
2_number =20
sum=1_number+2_number
print("Сумма:",sum)

P.S. Обратите внимание на пробелы, названия переменных и отступы.

Задание 4*: Дополнительное задание по конкатенации и форматированию строк.

Это задание является дополнительным и более сложным. Для его выполнения вам потребуется поискать информацию самостоятельно.

  1. Создайте переменные day, month и year, содержащие текущую дату (числа).
  2. Создайте переменную date_str, которая формирует строку даты в формате "ДД.ММ.ГГГГ", используя конкатенацию или форматирование строк.
  3. Выведите date_str на экран.

Подсказка: Вам может понадобиться преобразование чисел в строки с помощью str().

Свои домашние работы отправляйте на почтовый ящик homework@kuzinobit.com.

Вопросы для самопроверки:

  1. Что такое переменная и как она используется в Python?
  2. Какие существуют основные типы данных в Python?
  3. Как выполнить явное преобразование строки "123" в число?
  4. Почему важно соблюдать правила форматирования кода?
  5. Какой результат даст следующий код и почему?
x = "10"
y = "5"
result = x + y
print(result)

Поздравляю с успешным освоением второго урока! В следующем уроке мы продолжим наше путешествие и изучим строки в Python, которые позволяют хранить и обрабатывать текстовые данные, а также включают множество полезных методов для работы с текстом.

Друзья, ставьте свои лайки и подписывайтесь на канал. Дальше будет только интереснее! До новых встреч!