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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") subgraph Lab Skills python/variables_data_types -.-> lab-393077{{"Типы данных и операторы в Python"}} python/numeric_types -.-> lab-393077{{"Типы данных и операторы в Python"}} python/strings -.-> lab-393077{{"Типы данных и операторы в Python"}} python/booleans -.-> lab-393077{{"Типы данных и операторы в Python"}} python/type_conversion -.-> lab-393077{{"Типы данных и операторы в Python"}} end

Понимание числовых типов данных

На этом этапе вы будете работать с двумя основными числовыми типами данных в Python: целыми числами и числами с плавающей точкой.

  1. Откройте интерпретатор Python, введя следующую команду в терминале:

    python

    Вы должны увидеть приглашение Python (>>>), что означает, что вы теперь в интерактивной оболочке Python.

Интерпретатор Python
  1. Начнем с изучения целых чисел. В интерпретаторе Python введите следующее:

    >>> age = 25
    >>> print(f"I am {age} years old.")
    I am 25 years old.
    >>> type(age)
    <class 'int'>

    Здесь age - это целочисленная переменная. Функция type() подтверждает, что это тип данных int (целое число). Целые числа - это целые числа без десятичных знаков.

  2. Теперь давайте поработаем с числами с плавающей точкой:

    >>> height = 1.75
    >>> print(f"My height is {height} meters.")
    My height is 1.75 meters.
    >>> type(height)
    <class 'float'>

    height - это число с плавающей точкой, представленное типом данных float в Python. Числа с плавающей точкой используются для чисел с десятичными знаками.

  3. Выполним вычисление, используя эти числовые типы:

    >>> weight = 70  ## Let's define weight first
    >>> bmi = weight / (height ** 2)
    >>> print(f"My BMI is {bmi:.2f}")
    My BMI is 22.86

    Здесь мы сначала определяем weight. Оператор ** используется для возведения в степень. .2f в f-строке форматирует вывод так, чтобы показывать только два десятичных знака.

    # используется для комментариев в Python. Комментарии игнорируются интерпретатором и используются для документирования кода.

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

Работа со строками

На этом этапе вы узнаете, как работать со строками, которые в Python представляют собой последовательности символов.

  1. В интерпретаторе Python создайте строковую переменную:

    >>> name = "Alice"
    >>> print(f"Hello, {name}!")
    Hello, Alice!
    >>> type(name)
    <class 'str'>

    Тип данных str представляет строки в Python. Строки заключаются в одинарные ('' ) или двойные ("") кавычки.

  2. Строки поддерживают различные операции. Исследуем некоторые из них:

    >>> ## String concatenation (joining strings)
    >>> first_name = "John"
    >>> last_name = "Doe"
    >>> full_name = first_name + " " + last_name
    >>> print(full_name)
    John Doe
    
    >>> ## String repetition
    >>> echo = "Hello " * 3
    >>> print(echo)
    Hello Hello Hello
    
    >>> ## String length
    >>> print(len(full_name))
    8
    
    >>> ## Accessing characters in a string
    >>> print(full_name[0])  ## First character (index 0)
    J
    >>> print(full_name[-1])  ## Last character
    e

    Помните, что в Python индексация начинается с 0, поэтому первый символ имеет индекс 0.

  3. Строки в Python являются неизменяемыми (immutable), то есть вы не можете изменить отдельные символы. Однако вы можете создавать новые строки на основе существующих:

    >>> uppercase_name = full_name.upper()
    >>> print(uppercase_name)
    JOHN DOE
    
    >>> lowercase_name = full_name.lower()
    >>> print(lowercase_name)
    john doe

    Эти методы не изменяют исходную строку, а создают новые.

Понимание булевых значений и операторов сравнения

На этом этапе вы узнаете о булевых значениях и о том, как использовать операторы сравнения в Python.

  1. Булевы значения в Python могут быть либо True (истина), либо False (ложь). Создадим несколько булевых переменных:

    >>> is_student = True
    >>> is_employed = False
    >>> print(f"Is a student: {is_student}")
    Is a student: True
    >>> print(f"Is employed: {is_employed}")
    Is employed: False
    >>> type(is_student)
    <class 'bool'>

    Булевы значения часто используются в условных операторах и циклах, о которых вы узнаете в будущих лабораторных работах.

  2. Операторы сравнения возвращают булевы значения. Исследуем несколько сравнений:

    >>> x = 5
    >>> y = 10
    >>> print(x < y)   ## Less than
    True
    >>> print(x > y)   ## Greater than
    False
    >>> print(x == y)  ## Equal to
    False
    >>> print(x!= y)  ## Not equal to
    True
    >>> print(x <= y)  ## Less than or equal to
    True
    >>> print(x >= y)  ## Greater than or equal to
    False

    Эти операторы сравнивают значения и возвращают True или False в зависимости от результата сравнения.

  3. Вы также можете использовать операторы сравнения с другими типами данных:

    >>> name1 = "Alice"
    >>> name2 = "Bob"
    >>> print(name1 < name2)  ## Alphabetical comparison
    True
    
    >>> print(len(name1) == len(name2))  ## Comparing string lengths
    False

    При сравнении строк Python использует лексикографический порядок (порядок словаря).

  4. Булевы операторы (and - логическое И, or - логическое ИЛИ, not - логическое отрицание) можно использовать для объединения булевых значений:

    >>> a = True
    >>> b = False
    >>> print(a and b)  ## True if both are True
    False
    >>> print(a or b)   ## True if at least one is True
    True
    >>> print(not a)    ## Negation
    False

    Эти операторы полезны для создания сложных условий в ваших программах.

Исследование преобразования типов

На этом этапе вы узнаете, как преобразовывать данные между разными типами в Python.

  1. Иногда вам нужно преобразовать один тип данных в другой. Python предоставляет встроенные функции для этой цели. Начнем с преобразования строк в числа:

    >>> ## Converting string to integer
    >>> age_str = "25"
    >>> age_int = int(age_str)
    >>> print(f"Age: {age_int}")
    Age: 25
    >>> print(type(age_int))
    <class 'int'>
    
    >>> ## Converting string to float
    >>> height_str = "1.75"
    >>> height_float = float(height_str)
    >>> print(f"Height: {height_float} meters")
    Height: 1.75 meters
    >>> print(type(height_float))
    <class 'float'>

    Функции int() и float() преобразуют строки соответственно в целые числа и числа с плавающей точкой. Будьте осторожны: если строку нельзя преобразовать, вы получите ошибку.

  2. Вы также можете преобразовывать числа в строки:

    >>> ## Converting integer to string
    >>> count = 42
    >>> count_str = str(count)
    >>> print(f"The count is: {count_str}")
    The count is: 42
    >>> print(type(count_str))
    <class 'str'>
    
    >>> ## Converting float to string
    >>> pi = 3.14159
    >>> pi_str = str(pi)
    >>> print(f"Pi is approximately {pi_str}")
    Pi is approximately 3.14159
    >>> print(type(pi_str))
    <class 'str'>

    Функция str() может преобразовать большинство объектов Python в строки.

  3. Булевы значения можно преобразовывать в другие типы и наоборот:

    >>> ## Converting to boolean
    >>> print(bool(1))     ## Non-zero numbers are True
    True
    >>> print(bool(0))     ## Zero is False
    False
    >>> print(bool(""))    ## Empty string is False
    False
    >>> print(bool("Hello"))  ## Non-empty string is True
    True
    
    >>> ## Converting boolean to integer
    >>> true_int = int(True)
    >>> false_int = int(False)
    >>> print(f"True as integer: {true_int}")
    True as integer: 1
    >>> print(f"False as integer: {false_int}")
    False as integer: 0

    В Python любое неотрицательное число или непустая строка считается True при преобразовании в булево значение.

Сборка всего вместе

На этом последнем этапе вы создадите простую программу, которая использует концепции, изученные вами в этой лабораторной работе.

  1. Выйдите из интерпретатора Python, введя exit() или нажав Ctrl+D.

  2. Перейдите на вкладку WebIDE в виртуальной машине LabEx. WebIDE - это онлайн-редактор кода, который позволяет писать и запускать Python-скрипты прямо в браузере. Он подходит для более длинных скриптов и проектов.

Онлайн-редактор кода WebIDE
  1. Создайте новый файл с именем data_types_practice.py в директории ~/project с помощью следующей команды:

    touch ~/project/data_types_practice.py
  2. Щелкните по только что созданному файлу, чтобы открыть его в редакторе.

  3. Скопируйте и вставьте следующий код в файл:

    ## Data types and operators practice
    
    ## Get user input
    name = input("Enter your name: ")
    age_str = input("Enter your age: ")
    height_str = input("Enter your height in meters: ")
    
    ## Convert input to appropriate types
    age = int(age_str)
    height = float(height_str)
    
    ## Perform calculations
    ## You may need to change the year to the current year
    birth_year = 2025 - age
    is_adult = age >= 18
    
    ## Create output string
    output = f"""
    Name: {name}
    Age: {age}
    Height: {height:.2f} meters
    Birth Year: {birth_year}
    Is Adult: {is_adult}
    """
    
    ## Print the result
    print(output)
    
    ## Bonus: String manipulation
    uppercase_name = name.upper()
    name_length = len(name)
    
    print(f"Your name in uppercase: {uppercase_name}")
    print(f"Your name has {name_length} characters")

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

  4. Сохраните файл (автосохранение включено) и запустите его с помощью следующей команды:

    python ~/project/data_types_practice.py
  5. Введите свою информацию по запросу. Вы должны увидеть вывод, похожий на следующий:

    Enter your name: Alice
    Enter your age: 25
    Enter your height in meters: 1.75
    
    Name: Alice
    Age: 25
    Height: 1.75 meters
    Birth Year: 1999
    Is Adult: True
    
    Your name in uppercase: ALICE
    Your name has 5 characters
Пример вывода программы

Если вы допустите ошибку при вводе данных, вам нужно будет запустить программу снова. Это хороший повод практиковаться в запуске Python-скриптов несколько раз с разными входными данными.

Резюме

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

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

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