Python порядок выполнения арифметических операций

Базовые арифметические операции

Ни­же при­ве­де­ны при­ме­ры ма­те­ма­ти­че­ских опе­ра­ций. По­ме­няй­те в при­ме­ре зна­че­ния x и y, за­ме­нив це­лые чис­ла на чис­ла с пла­ва­ю­щей точ­кой.

x=11 y=3 print(x-y) print(x*y) print(x/y) print(x//y) print(x%y) print(x**y) print(pow(3,4)) print(pow(3,4,5))

В Python, при вы­пол­не­нии ариф­ме­ти­че­ских опе­ра­ций, уста­нав­ли­ва­ют­ся при­о­ри­те­ты: 1) воз­ве­де­ние в сте­пень; 2) сме­на зна­ка; 3) умно­же­ние, де­ле­ние, оста­ток; 4) сло­же­ние и вы­чи­та­ние. При­о­ри­те­ты мож­но из­ме­нить с по­мо­щью ско­бок. Ни­же при­ме­ры.

a=3+4*5 print(«a=»,a) b=4*3**2 print(«b=»,b) c=(2+3)*4 print(«c=»,c) d=3*-3+9 print(«d auto»> print(3**120) print(3.0**120.0)

При­ве­дем для удоб­ства свод­ную таб­ли­цу ма­те­ма­ти­че­ских опе­ра­ций с ука­за­ни­ем ти­пов ре­зуль­та­та.

Опе­ра­ция На­зва­ние При­ме­ча­ние
x+y Сло­же­ние чи­сел
x-y Раз­ни­ца чи­сел
x*y Про­из­ве­де­ние чи­сел
x/y Де­ле­ние чи­сел Ре­зуль­тат — float
x//y Це­лая часть от де­ле­ния Ре­зуль­тат — це­лое чис­ло
x%y Оста­ток от де­ле­ния Ре­зуль­тат — це­лое чис­ло
x**y Воз­ве­де­ние в сте­пень Ре­зуль­тат — float , ес­ли \(x -x Сме­на зна­ка чис­ла унар­ная опе­ра­ция

Источник

№29 Приоритетность и ассоциативность операторов / для начинающих

В этом материале рассмотрим приоритетность и ассоциативность операторов в Python. Тема очень важна для понимания семантики операторов Python.

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

В выражении интерпретатор Python выполняет операторы с более высоким уровнем приоритета первыми. И за исключением оператора возведения в степень ( ** ) они выполняются слева направо.

Приоритетность операторов в Python

Как работает приоритетность операторов в Python?

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

Читайте также:  Shemotehnik ru avtolubitel 84 zaryadnoe ustrojstvo dlya avtomobilnogo html

Здесь «3 + 4» — это выражение Python. Оно содержит один оператор и пару операндов. Но в более сложных инструкциях операторов может быть и несколько.

Для их выполнения Python руководствуется правилом приоритетности. Оно указывает на порядок операторов.

Примеры приоритетов операторов

В следующих примерах в сложных выражениях объединены по несколько операторов.

 
# Сначала выполняется умножение
# потом операция сложения
# Результат: 17
5 + 4 * 3

Однако порядок исполнения можно поменять с помощью скобок (). Они переопределяют приоритетность арифметический операций.

 
# Круглые скобки () переопределяют приоритет арифметических операторов
# Вывод: 27
(5 + 4) * 3

Следующая таблица демонстрирует приоритетность операторов от высокой до самой низкой.

Операторы Применение
Скобки (объединение)
f(args…) Вызов функции
x[index:index] Срез
x[index] Получение по индексу
x.attribute Ссылка на атрибут
** Возведение в степень
~x Побитовое нет
+x, -x Положительное, отрицательное число
*, /, % Умножение, деление, остаток
+, — Сложение, вычитание
> Сдвиг влево/вправо
& Побитовое И
^ Побитовое ИЛИ НЕ
| Побитовое ИЛИ
in, not in, is, is not, , >=, <>, !=, == Сравнение, принадлежность, тождественность
not x Булево НЕ
and Булево И
or Булево ИЛИ
lambda Лямбда-выражение

Ассоциативность операторов

В таблице выше можно увидеть, что некоторые группы включают по несколько операторов python. Это значит, что все представители одной группы имеют один уровень приоритетности.

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

Что такое ассоциативность в Python?

Ассоциативность — это порядок, в котором Python выполняет выражения, включающие несколько операторов одного уровня приоритетности. Большая часть из них (за исключением оператора возведения в степень ** ) поддерживают ассоциативность слева направо.

Примеры

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

Источник

Python. Урок 4. Арифметические операции

Follow us on Google Plus Follow us on rss

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

Арифметические операции будем изучать применительно к числам, причем работу с комплексными числами разберем отдельно. Также, кратко остановимся на битовых операциях, представлении чисел в разных системах исчисления и коснемся библиотеки math.

Как было сказано в предыдущем уроке, посвященном типами и модели данных Python, в этом языке существует три встроенных числовых типа данных:

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

Арифметические операции с целыми и вещественными числами

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

Складывать можно непосредственно сами числа…

либо переменные, но они должны предварительно быть проинициализированы.

Результат операции сложения можно присвоить другой переменной…

>>> a = 3 >>> b = 2 >>> c = a + b >>> print(c) 5 

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

>>> a = 3 >>> b = 2 >>> a = a + b >>> print(a) 5 
>>> a = 3 >>> b = 2 >>> a += b >>> print(a) 5 

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

>>> 5 * 8 40 >>> a = 4 >>> a *= 10 >>> print(a) 40 
>>> 9 / 3 3.0 >>> a = 7 >>> b = 4 >>> a / b 1.75

Получение целой части от деления.

>>> 9 // 3 3 >>> a = 7 >>> b = 4 >>> a // b 1 

Получение остатка от деления.

>>> 9 % 5 4 >>> a = 7 >>> b = 4 >>> a % b 3 
>>> 5 ** 4 625 >>> a = 4 >>> b = 3 >>> a ** b 64

Работа с комплексными числами

Для создания комплексного числа можно использовать функцию complex(a, b), в которую, в качестве первого аргумента, передается действительная часть, в качестве второго – мнимая. Либо записать число в виде a + bj.

Рассмотрим несколько примеров.

Создание комплексного числа.

>>> z = 1 + 2j >>> print(z) (1+2j) >>> x = complex(3, 2) >>> print(x) (3+2j)

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

>>> x + z (4+4j) >>> x - z (2+0j) >>> x * z (-1+8j) >>> x / z (1.4-0.8j) >>> x ** z (-1.1122722036363393-0.012635185355335208j) >>> x ** 3 (-9+46j)

У комплексного числа можно извлечь действительную и мнимую части.

>>> x = 3 + 2j >>> x.real 3.0 >>> x.imag 2.0 

Для получения комплексносопряженного число необходимо использовать метод conjugate().

Битовые операции

В Python доступны битовые операции, их можно производить над целыми числами.

Побитовое Исключающее ИЛИ (XOR).

Представление чисел в других системах счисления

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

Представление числа в шестнадцатеричной системе

Представление числа в восьмеричной системе

Представление числа в двоичной системе

Библиотека (модуль) math

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

Для работы с данным модулем его предварительно нужно импортировать.

Рассмотрим наиболее часто используемые функции.

Возвращает ближайшее целое число большее, чем x.

Возвращает абсолютное значение числа.

math.factorial(x)

Возвращает ближайшее целое число меньшее, чем x.

>>> math.exp(3) 20.085536923187668

math.log(x[, base])

По умолчанию вычисляет логарифм по основанию e, дополнительно можно указать основание логарифма.

>>> math.log2(8) 3.0 >>> math.log10(1000) 3.0 >>> math.log(5) 1.6094379124341003 >>> math.log(4, 8) 0.6666666666666667

Вычисляет значение x в степени y.

Тригонометрические функции, их мы оставим без примера.

И напоследок пару констант.

Помимо перечисленных, модуль math содержит ещё много различных функций, за более подробной информацией можете обратиться на официальный сайт.

P.S.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

>>

Источник

Оцените статью