Добро пожаловать в мир Python! В этой лабораторной работе вы познакомитесь с базовыми кирпичиками программирования на Python: типами данных и операторами. Мы изучим числа, текст и логические значения «истина/ложь». Вы также научитесь выполнять вычисления и сравнения. Эта работа предназначена для новичков, поэтому мы будем двигаться шаг за шагом. Не волнуйтесь, если всё это для вас в новинку — мы поможем вам во всем разобраться. Приступим!
Работа с числами в Python
На этом этапе мы рассмотрим два основных типа чисел в Python: целые числа (integers) и числа с плавающей точкой (floats — числа с десятичной запятой).
Сначала откройте интерпретатор Python. Это инструмент, который позволяет выполнять код Python построчно. Для начинающих интерфейс Desktop более удобен. Если вам привычнее работать в терминале, вы можете переключиться на отдельную вкладку Terminal в верхнем левом углу для более плавной работы. Оба подхода приведут к одному и тому же результату.
Введите в терминале следующую команду:
python
Вы должны увидеть символ >>>. Это означает, что Python готов принимать ваши команды.
Начнем с целых чисел (integers). Это обычные числа без дробной части, такие как -1, 0 или 100.
books = 5
print(f"I have {books} books.")
type(books)
Вывод:
I have 5 books.
<class 'int'>
Здесь мы создали переменную с именем books и присвоили ей значение 5. Переменная — это своего рода коробка, в которой можно хранить информацию. Функция print() выводит результат на экран. Мы использовали f-строку (обратите внимание на букву f перед кавычками), чтобы легко вставить значение переменной books прямо в текст. Функция type() сообщает нам, что в books хранится объект типа int (integer).
Теперь изучим числа с плавающей точкой, или floats. Это числа, содержащие десятичную точку.
price = 19.99
print(f"This book costs ${price}.")
type(price)
Вывод:
This book costs $19.99.
<class 'float'>
Переменная price относится к типу float, так как в ней есть десятичная точка.
Теперь давайте выполним простое вычисление. Python можно использовать как калькулятор!
quantity = 3
total_cost = price * quantity ## Let's calculate the total cost
print(f"The total cost for {quantity} books is ${total_cost:.2f}.")
Вывод:
The total cost for 3 books is $59.97.
Мы использовали оператор * для умножения price на quantity. Запись .2f внутри f-строки форматирует число, оставляя два знака после запятой. Символ # обозначает начало комментария. Комментарии — это заметки для людей, которые Python игнорирует при выполнении кода.
Попробуйте провести собственные расчеты! Вы можете переопределять переменные новыми значениями и смотреть, что получится.
Работа с текстом (строки)
На этом этапе вы узнаете о строках, которые используются в Python для представления текстовой информации.
Давайте создадим строковую переменную в интерпретаторе Python. Строки всегда заключаются в одинарные (') или двойные (") кавычки.
name = "Alice"
print(f"Hello, {name}!")
type(name)
Вывод:
Hello, Alice!
<class 'str'>
Тип данных str представляет строку в Python.
Строки можно объединять и изменять множеством способов. Попробуем некоторые распространенные операции.
## Finding the length of a string
print(len(full_name))
Вывод:
8
## Accessing individual characters
print(full_name[0]) ## Get the first character
print(full_name[-1]) ## Get the last character
Вывод:
J
e
Важно: в Python отсчет начинается с 0. Таким образом, первый символ находится под индексом 0. Индекс -1 — это удобный способ обратиться к последнему символу.
Строки в Python являются неизменяемыми (immutable). Это значит, что после создания строки её нельзя изменить. Вы не можете заменить один символ в строке. Однако вы можете создавать новые строки на основе существующих.
Методы .upper() и .lower() создают новые строки. Оригинальная переменная message остается без изменений.
Истина или ложь? (Логический тип Boolean)
На этом этапе вы познакомитесь с логическими значениями, которые могут принимать только два состояния: True (истина) или False (ложь). Они критически важны для принятия решений в коде.
Давайте создадим несколько логических переменных. Обратите внимание, что в Python True и False всегда пишутся с заглавной буквы.
Операторы сравнения используются для сопоставления двух значений, и результатом их работы всегда является логическое значение (True или False).
x = 5
y = 10
print(x < y) ## Is x less than y?
print(x == y) ## Is x equal to y?
print(x != y) ## Is x not equal to y?
Вывод:
True
False
True
Вот основные операторы сравнения: == (равно), != (не равно), < (меньше), > (больше), <= (меньше или равно), >= (больше или равно).
Вы также можете сравнивать строки. Python сравнивает их в алфавитном порядке.
name1 = "Alice"
name2 = "Bob"
print(name1 < name2) ## "Alice" comes before "Bob" alphabetically
Вывод:
True
Логические операторы (and, or, not) используются для комбинирования логических выражений.
a = True
b = False
print(a and b) ## True only if both a AND b are True
print(a or b) ## True if either a OR b (or both) are True
print(not a) ## The opposite of a
Вывод:
False
True
False
Эти операторы помогают создавать более сложные условия для ваших программ.
Преобразование типов данных
Иногда возникает необходимость перевести значение из одного типа данных в другой. Это называется преобразованием типов или «приведением типов» (casting).
Давайте преобразуем строку в число. Это часто требуется при получении данных от пользователя, так как ввод всегда считывается как строка.
Мы используем int() для преобразования в целое число и float() для преобразования в число с плавающей точкой. Будьте осторожны! Если вы попытаетесь преобразовать строку, которая не похожа на число (например, int("hello")), Python выдаст ошибку.
Вы также можете преобразовывать числа в строки с помощью функции str().
Наконец, можно преобразовывать значения в логический тип с помощью bool(). Правила просты:
0, пустые строки ("") и некоторые специальные пустые объекты превращаются в False.
Почти всё остальное превращается в True (любое ненулевое число, любая непустая строка).
print(bool(100)) ## Non-zero number
print(bool(0)) ## Zero
print(bool("Hello")) ## Non-empty string
print(bool("")) ## Empty string
Вывод:
True
False
True
False
Преобразование типов — это мощный инструмент, позволяющий различным типам данных корректно взаимодействовать друг с другом.
Объединяем всё вместе
На этом заключительном этапе мы напишем небольшую программу, которая использует всё, что мы изучили.
Перейдите на вкладку WebIDE в виртуальной машине LabEx. WebIDE — это онлайн-редактор кода, в котором можно писать и сохранять скрипты Python.
Для получения более подробной информации об интерфейсе WebIDE, пожалуйста, обратитесь к документации LabEx VM WebIDE.
Создайте новый файл с именем user_info.py в директории ~/project с помощью этой команды:
touch ~/project/user_info.py
Нажмите на новый файл в проводнике слева, чтобы открыть его в редакторе.
Скопируйте и вставьте следующий код в файл:
## A simple program to practice data types
## Get user input (input is always a string)
name = input("Enter your name: ")
age_str = input("Enter your age: ")
## Convert age to an integer
age = int(age_str)
## Perform a simple calculation
years_to_100 = 100 - age
is_adult = age >= 18
## Create an output message using an f-string
output = f"""
--- User Information ---
Hello, {name}!
You are {age} years old.
You will be 100 years old in {years_to_100} years.
Are you an adult? {is_adult}
--- End of Report ---
"""
## Print the final result
print(output)
Этот скрипт использует функцию input() для запроса имени и возраста. Функция input() всегда возвращает введенные данные в виде строки, поэтому нам нужно преобразовать возраст в число с помощью int(). Затем скрипт создает многострочную f-строку для вывода, используя тройные кавычки ("""). Это удобный способ форматирования текста, занимающего несколько строк. В конце программа выполняет расчеты и выводит итоговый отчет.
Сохраните файл (он должен сохраняться автоматически) и запустите его из терминала следующей командой:
python ~/project/user_info.py
Программа спросит ваше имя и возраст. После ввода данных она выведет отчет.
Enter your name: Alice
Enter your age: 25
--- User Information ---
Hello, Alice!
You are 25 years old.
You will be 100 years old in 75 years.
Are you an adult? True
--- End of Report ---
Попробуйте запустить скрипт несколько раз с разными данными, чтобы увидеть, как меняется результат!
Резюме
Поздравляем с завершением этой лабораторной работы! Вы сделали огромный первый шаг в мир программирования на Python.
В ходе этой работы вы изучили фундаментальные основы Python:
Числовые типы: Вы работали с целыми числами (int) и числами с плавающей точкой (float).
Строки (str): Вы научились создавать и обрабатывать текст.
Логический тип (bool): Вы изучили значения True и False и использовали их для сравнения.
Операторы: Вы применяли арифметические (*), сравнительные (==, <) и логические (and, or) операторы.
Преобразование типов: Вы попрактиковались в конвертации данных из одного типа в другой, например, превращая строку в число.
Эти концепции являются фундаментом для всего, что вы будете делать в Python в дальнейшем. Продолжайте практиковаться и не бойтесь экспериментировать в интерпретаторе Python — это один из лучших способов обучения. Отличная работа и удачного программирования!