Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Python
/

Операторы

Python: Операторы

В математике и программировании мы часто используем знаки операций, такие как +, -, * и другие. В программировании такие знаки называются операторами.

  • Оператор представляет собой символ или слово, которое обозначает действие.
  • Операнды являются значениями, к которым применяется оператор.

Пример:

print(8 + 2)

Здесь:

  • + является оператором
  • 8 и 2 являются операндами
  • результатом будет 10
операнд   оператор   операнд       результат
    8         +          2       →      10
    5         -          3       →      2
    4         *          3       →      12

Унарные операторы

Существуют и унарные операции, которые работают с одним операндом. Пример:

print(-3)  # => -3

В этом случае - является унарным оператором, а 3 является операндом. Интерпретатор получает команду: "возьми число 3 и измени его знак".

Оператор - может использоваться по-разному. Когда он стоит между двумя числами, это операция вычитания:

print(5 - 2)   # => 3
print(10 - 7)  # => 3

Здесь - берет первое число и вычитает из него второе.

Эта разница особенно заметна при работе с отрицательными числами. Например:

# минус на минус дает плюс
print(5 - -2) # => 7

Сначала мы видим операцию вычитания: 5 - (...). Но справа стоит унарный минус -2, который превращает 2 в отрицательное число. В итоге получается: 5 - (-2) = 7.

Таким образом, значение - зависит от контекста: если рядом стоит другое число, это вычитание, иначе это смена знака числа.

Главное, что здесь нужно помнить, поведение и даже сама запись здесь полностью соответствует тому, как мы делали это в школе.

Ошибки при вычислениях и парсинге

Если воспринимать -3 как единое число, можно не заметить, что - является отдельным оператором со своим приоритетом. Например:

print(-3**2)

На первый взгляд может показаться, что в квадрат возводится -3, и результат должен быть 9 (любое число в квадрате становится положительным). Но результат будет -9.

Дело в порядке вычислений: сначала выполняется возведение в степень (**), а только потом применяется унарный минус. То есть программа считает так: -(3**2) = -9. Про приоритет операций мы поговорим подробнее дальше по курсу.

Задание

Подводная лодка находится на глубине -81 м. Палуба спасательного корабля расположена на высоте +6 м над уровнем воды.

Рассчитайте и выведите на экран:

  1. Полное расстояние всплытия в метрах.
  2. Время подъема в минутах — лодка поднимается со скоростью 3 м/мин.
Коммерческий опыт и Трудоустройство

Полезное

  • Всегда отбивайте арифметические операторы пробелами от своих операндов – это хороший стиль программирования.

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
/
Программирование
/
Курс Python
/

Операторы

Python: Операторы

В математике и программировании мы часто используем знаки операций, такие как +, -, * и другие. В программировании такие знаки называются операторами.

  • Оператор представляет собой символ или слово, которое обозначает действие.
  • Операнды являются значениями, к которым применяется оператор.

Пример:

print(8 + 2)

Здесь:

  • + является оператором
  • 8 и 2 являются операндами
  • результатом будет 10
операнд   оператор   операнд       результат
    8         +          2       →      10
    5         -          3       →      2
    4         *          3       →      12

Унарные операторы

Существуют и унарные операции, которые работают с одним операндом. Пример:

print(-3)  # => -3

В этом случае - является унарным оператором, а 3 является операндом. Интерпретатор получает команду: "возьми число 3 и измени его знак".

Оператор - может использоваться по-разному. Когда он стоит между двумя числами, это операция вычитания:

print(5 - 2)   # => 3
print(10 - 7)  # => 3

Здесь - берет первое число и вычитает из него второе.

Эта разница особенно заметна при работе с отрицательными числами. Например:

# минус на минус дает плюс
print(5 - -2) # => 7

Сначала мы видим операцию вычитания: 5 - (...). Но справа стоит унарный минус -2, который превращает 2 в отрицательное число. В итоге получается: 5 - (-2) = 7.

Таким образом, значение - зависит от контекста: если рядом стоит другое число, это вычитание, иначе это смена знака числа.

Главное, что здесь нужно помнить, поведение и даже сама запись здесь полностью соответствует тому, как мы делали это в школе.

Ошибки при вычислениях и парсинге

Если воспринимать -3 как единое число, можно не заметить, что - является отдельным оператором со своим приоритетом. Например:

print(-3**2)

На первый взгляд может показаться, что в квадрат возводится -3, и результат должен быть 9 (любое число в квадрате становится положительным). Но результат будет -9.

Дело в порядке вычислений: сначала выполняется возведение в степень (**), а только потом применяется унарный минус. То есть программа считает так: -(3**2) = -9. Про приоритет операций мы поговорим подробнее дальше по курсу.

Задание

Подводная лодка находится на глубине -81 м. Палуба спасательного корабля расположена на высоте +6 м над уровнем воды.

Рассчитайте и выведите на экран:

  1. Полное расстояние всплытия в метрах.
  2. Время подъема в минутах — лодка поднимается со скоростью 3 м/мин.
Коммерческий опыт и Трудоустройство

Полезное

  • Всегда отбивайте арифметические операторы пробелами от своих операндов – это хороший стиль программирования.

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

import importlib


def test(capsys):
    expected = "87\n29.0"
    expect_output(capsys, expected)


def expect_output(capsys, expected):
    importlib.import_module('solution')
    out, _err = capsys.readouterr()
    actual = out.strip('\n')

    with capsys.disabled():
        print('\n')
        print(out)

    assert actual == expected
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →