Типы данных и операторы в Python

PythonBeginner
Практиковаться сейчас

Введение

Добро пожаловать в мир Python! В этой лабораторной работе вы познакомитесь с базовыми кирпичиками программирования на Python: типами данных и операторами. Мы изучим числа, текст и логические значения «истина/ложь». Вы также научитесь выполнять вычисления и сравнения. Эта работа предназначена для новичков, поэтому мы будем двигаться шаг за шагом. Не волнуйтесь, если всё это для вас в новинку — мы поможем вам во всем разобраться. Приступим!

Работа с числами в Python

На этом этапе мы рассмотрим два основных типа чисел в Python: целые числа (integers) и числа с плавающей точкой (floats — числа с десятичной запятой).

Сначала откройте интерпретатор Python. Это инструмент, который позволяет выполнять код Python построчно. Для начинающих интерфейс Desktop более удобен. Если вам привычнее работать в терминале, вы можете переключиться на отдельную вкладку Terminal в верхнем левом углу для более плавной работы. Оба подхода приведут к одному и тому же результату.

Terminal Tab

Введите в терминале следующую команду:

python

Вы должны увидеть символ >>>. Это означает, что Python готов принимать ваши команды.

Python Interpreter

Начнем с целых чисел (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.

Строки можно объединять и изменять множеством способов. Попробуем некоторые распространенные операции.

## Joining two strings together (concatenation)
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)

Вывод:

John Doe
## Repeating a string
cheer = "Go! " * 3
print(cheer)

Вывод:

Go! Go! Go!
## 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). Это значит, что после создания строки её нельзя изменить. Вы не можете заменить один символ в строке. Однако вы можете создавать новые строки на основе существующих.

message = "Hello World"
uppercase_message = message.upper()
print(uppercase_message)

Вывод:

HELLO WORLD
lowercase_message = message.lower()
print(lowercase_message)

Вывод:

hello world

Методы .upper() и .lower() создают новые строки. Оригинальная переменная message остается без изменений.

Истина или ложь? (Логический тип Boolean)

На этом этапе вы познакомитесь с логическими значениями, которые могут принимать только два состояния: True (истина) или False (ложь). Они критически важны для принятия решений в коде.

Давайте создадим несколько логических переменных. Обратите внимание, что в Python True и False всегда пишутся с заглавной буквы.

is_learning = True
is_finished = False
print(f"Are we learning Python? {is_learning}")
type(is_learning)

Вывод:

Are we learning Python? True
<class 'bool'>

Тип данных bool представляет логические значения.

Операторы сравнения используются для сопоставления двух значений, и результатом их работы всегда является логическое значение (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).

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

age_string = "25"
age_number = int(age_string) ## Convert string to integer
print(age_number + 5)

Вывод:

30
price_string = "1.99"
price_float = float(price_string) ## Convert string to float
print(price_float * 2)

Вывод:

3.98

Мы используем int() для преобразования в целое число и float() для преобразования в число с плавающей точкой. Будьте осторожны! Если вы попытаетесь преобразовать строку, которая не похожа на число (например, int("hello")), Python выдаст ошибку.

Вы также можете преобразовывать числа в строки с помощью функции str().

count = 50
count_string = str(count)
print("The count is " + count_string)

Вывод:

The count is 50

Наконец, можно преобразовывать значения в логический тип с помощью 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 online code editor

Для получения более подробной информации об интерфейсе 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 ---
Program output example

Попробуйте запустить скрипт несколько раз с разными данными, чтобы увидеть, как меняется результат!

Резюме

Поздравляем с завершением этой лабораторной работы! Вы сделали огромный первый шаг в мир программирования на Python.

В ходе этой работы вы изучили фундаментальные основы Python:

  • Числовые типы: Вы работали с целыми числами (int) и числами с плавающей точкой (float).
  • Строки (str): Вы научились создавать и обрабатывать текст.
  • Логический тип (bool): Вы изучили значения True и False и использовали их для сравнения.
  • Операторы: Вы применяли арифметические (*), сравнительные (==, <) и логические (and, or) операторы.
  • Преобразование типов: Вы попрактиковались в конвертации данных из одного типа в другой, например, превращая строку в число.

Эти концепции являются фундаментом для всего, что вы будете делать в Python в дальнейшем. Продолжайте практиковаться и не бойтесь экспериментировать в интерпретаторе Python — это один из лучших способов обучения. Отличная работа и удачного программирования!