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

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

Введение

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

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

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

Сначала откройте интерпретатор Python. Это инструмент, который позволяет выполнять код Python построчно. Для начинающих интерфейс рабочего стола (Desktop Interface) более удобен. Если вам привычнее работать с терминалом, вы можете переключиться на отдельную вкладку 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 (целое число).

Теперь давайте изучим числа с плавающей точкой (floating-point numbers), или 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 игнорирует.

Не стесняйтесь пробовать свои собственные вычисления! Вы можете переопределять переменные новыми значениями и смотреть, что получится.

Работа с текстом (строки)

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

Истина или ложь? (Логические значения)

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