Оператори Python і їх пріоритет виконання
a = b + c
До змінної b додається c, результат присвоюється змінній a. Весь приклад в цілому a = b + c - це вираз. Змінні, які в ньому фігурують, - це операнди. Вироблена операція - додавання, а використовуваний для цього оператор "+".
Арифметичні оператори Python
Пайтон надає величезну кількість бібліотек для вирішення обчислювальних завдань. Великий набір методів ставить Python на один рівень з Matlab і Octave. Арифметичні операції застосовуються відносно до цілих чисел типу int, речовим типу float, комплексним complex.
<!-- fb_336x280_1 -->
<script> (adsbygoogle = window.adsbygoogle ||[]).push({});
Якщо в якості аргументів операції використовуються тільки цілі числа, результат теж буде цілим. Операції між числами з плаваючою крапкою в результаті дадуть ціле, дробове. Єдина операція, при якій взаємодія цілих чисел дає дробове, - це поділ.
Всі можливі арифметичні операції наведені в таблиці.
Додавання | + |
Віднімання | - |
Множення | * |
Поділ | / |
Ціла частина від ділення | // |
Залишок від ділення | % |
Зведення в ступінь | ** |
Додавання одного числа до іншого виконує оператор additional. Віднімання здійснюється з допомогою subtraction. Множення одного числа на інше відбувається з multiplication. Зведення в ступінь здійснюється з допомогою exponenta. Для ділення використовується division.
<!-- fb_336x280_2 -->
<script> (adsbygoogle = window.adsbygoogle ||[]).push({});
Оператор modulus (%) повертає залишок від ділення лівого операнда на правий. Якщо змінна a = 10 b = 20 b%a == 0. Що таке оператор ділення з залишком, легко зрозуміти на прикладі. Якщо 9/2 == 459//2 повертає результат, рівний 4. Ділення з floor division (//) повертає ціле число від операції ділення лівого операнда на правий.
Виконання будь-яких операцій здійснюється безпосередньо самими числами або перемеными, яким присвоєні числові значення. Результатом може бути інша змінна або одна з існуючих.
Поряд з цілими і дробовими числами в Python існують комплексні числа. Вони складаються з дійсної та уявної частини. Записуються у вигляді c = a+bj, де а - дійсна частина,
c.real()
#a
b - уявна.
c.imag()
#b
Арифметичні операції з комплексними числами мають ті ж властивості, що і з речовими. Використання complex numbers можна представити на площині з прямокутною системою координат. Точка a перетину осі X і осі Y відповідає комплексному числу x + yi. Таким чином, на осі X розташовуються речові числа, а на вертикальній осі Y - уявні.
Порівняння
Оператори в Python використовується для порівняння змінних. Крім стандартних, відомих математичних завдань, існує перевірка за значенням і за типом, а також перевірка нерівності.
більше | > |
менше | <</p> |
більше або дорівнює | >= |
менше або дорівнює | <= |
рівність | == |
нерівність | != або <> |
Операції порівняння здійснюються у вигляді a x b, де x - це оператор порівняння.
У програмуванні оператор "=" працює не так, як у математиці. Відповідність значень кожного аргументу визначається оператором "==", " = " тільки присвоює значення. З допомогою != перевіряється нерівність змінних. Цей оператор можна замінити як “ <> ", що не є стандартним оператором в інших мовах, як Сі, Джава або Джаваскрипт.
<script type="text/jаvascript">
var blockSettings2 = {blockId:"R-A-70350-39",renderTo:"yandex_rtb_R-A-70350-39",async:!0};
if(document.cookie.indexOf("abmatch=") >= 0) blockSettings2.statId = 70350;
!function(a,b,c,d,e){a[c]=a[c]||[],a[c].push(function(){Ya.Context.AdvManager.render(blockSettings2)}),e=b.getElementsByTagName("script")[0],d=b.createElement("script"),d.type="text/jаvascript",d.src="//an.yandex.ru/system/context.js",d.async=!0e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks");
Присвоювання
Оператори Python присвоюють значення змінної.
присвоювання | = |
додавання | += |
віднімання | -= |
множення | *= |
поділ | /= |
залишок від ділення | %= |
зведення в ступінь | **= |
отримання цілого значення в результаті поділу | //= |
Присвоювання є однією з центральних конструкцій в програмуванні. З його допомогою змінним задаються деякі значення, вони можуть змінюватися в ході програми.
Алгоритм роботи:
- обчислення лівостороннього значення;
- обчислення правостороннього значення;
- присвоєння одного значення іншим - при конфлікті типів має бути здійснене їх приведення;
- повернення результату операції - true або false.
Оператори присвоювання та математичної операції працюють за таким принципом:
a x b, де x - це оператор, що означає a = a x b. Таким чином, a += b говорить про те, що значення змінної a додається до значення змінної b, а їх результат присвоюється змінній a. Те ж саме відбувається з іншими прикладами. Наприклад, a **= b розшифровується як a = a ** b, тобто a зводиться до степеня b, результат присвоюється a.
<script type="text/jаvascript">
var blockSettings3 = {blockId:"R-A-70350-44",renderTo:"yandex_rtb_R-A-70350-44",async:!0};
if(document.cookie.indexOf("abmatch=") >= 0) blockSettings3.statId = 70350;
!function(a,b,c,d,e){a[c]=a[c]||[],a[c].push(function(){Ya.Context.AdvManager.render(blockSettings3)}),e=b.getElementsByTagName("script")[0],d=b.createElement("script"),d.type="text/jаvascript",d.src="//an.yandex.ru/system/context.js",d.async=!0e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks");
Умови
Перевірка умов виконується з допомогою тернарного оператора Python.
Він складається з двох або трьох частин:
- if - перевіряється вираз;
- elif - необов'язкова інструкція (аналогічна if else або elseif);
- else - основна інструкція.
a = int(input())
if X:
A = Y
else:
A = Z
Вираз можна задати в одному рядку.
A = Y if X else Z
Частини else і elseif можна відкидати, вираз виглядає так:
if 1:
print("hello 1")
У Пайтоне існують оператори break і continue. Break перериває виконання коду на всіх рівнях. Continue припиняє поточну ітерацію, продовжує виконання наступної точки.
Побітові
Такі оператори Python інтерпретують як операнди послідовність нулів і одиниць.
Вони використовують числа в двійковому представленні, повертають результат у вигляді 32-бітного числа.
a = 0
#00000000000000000000000000000000
a = 1
#00000000000000000000000000000001
a = 2
#00000000000000000000000000000010
a = 3
#00000000000000000000000000000011
a = 255
#00000000000000000000000011111111
Від'ємне число в двійковому форматі виходить методом заміни біта на протилежне і додавання 1.
314
#00000000000000000000000100111010
-314
#11111111111111111111111011000101 + 1 = 11111111111111111111111011000110
& | повертає 1 тільки якщо a = b |
| | повертає 1 якщо a = 1 або b = 1 або a = b |
^ | повертає 1 тільки якщо a = 1 або b = 1повертає 0 якщо a = 1 та b = 1 |
~a | змінює біти змінної на протилежні |
a b | зсуває всі біти перменной a вліво на значення b |
a b | зсуває всі біти a вправо на значення b |
a b | зсуває всі біти a вправо на значення b |
Відміну від a a b b в тому, що при зсуві і відкиданні правих значень зліва додаються копії перших бітів.
9
#00000000000000000000000000001001
9 2
#00000000000000000000000000000010
-9
#11111111111111111111111111110111
-9 2
#11111111111111111111111111111101
Але при a b ліві значення будуть заповнені нулями.
<script> (adsbygoogle = window.adsbygoogle ||[]).push({});
-9
#11111111111111111111111111110111
-9 2
#00111111111111111111111111111101
Логічні
Всього існує три логічних оператора.
Це:
- and - повертає true, якщо a == b == x;
- or - повертає true є a == x або b == x;
- not - повертає false, якщо a == b == x.
Приналежність
Оператор приналежності перевіряє, чи є змінна частиною деякої послідовності.
- a in b повертає true, якщо знаходить змінну a в послідовності b;
- a not in b повертає true, якщо не знаходить змінну а в послідовності b.
Тотожність
- a is b повертає true, якщо змінні праворуч і ліворуч вказують на один об'єкт;
- a is not b повертає true, якщо змінні не вказують на один об'єкт.
Пріоритети
У списку наведені оператори та вирази, відсортовані за пріоритетом виконання від меншого до більшого.
<script type="text/jаvascript">
var blockSettings = {blockId:"R-A-70350-45",renderTo:"yandex_rtb_R-A-70350-45",async:!0};
if(document.cookie.indexOf("abmatch=") >= 0) blockSettings.statId = 70350;
!function(a,b,c,d,e){a[c]=a[c]||[],a[c].push(function(){Ya.Context.AdvManager.render(blockSettings)}),e=b.getElementsByTagName("script")[0],d=b.createElement("script"),d.type="text/jаvascript",d.src="//an.yandex.ru/system/context.js",d.async=!0e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks");
Оператори в Python і їх пріоритет виконання:
- Лямбда виразу.
- Умовні оператори Python.
- Булевое АБО.
- Булевое В.
- Булевое НЕ.
- Оператори тотожності, приналежності, оператори присвоювання.
- Бітовий АБО.
- Бітовий НЕ.
- Бітовий В.
- Бітовий оператор зсуву бітів.
- Додавання і віднімання.
- Множення і ділення, включаючи операцію отримання залишку ділення цілого числа.
- Бітове НЕ.
- Зведення в ступінь.
- Звернення до елемента масиву з індексом, слайсинг, звернення до об'єкту класу, виклик функції з аргументами.
Перший пункт у списку - лямбда-вираз. Lambda expression використовується для створення анонімних функцій. Лямбда веде себе як звичайна функція, й оголошується у вигляді
def (arguments):
return expression
Після лямбда-вирази слідують операції, виконувані тернарным оператором Python.
В кінці списку розташовуються методи маніпуляції масивом і функціями. Звернення до елемента масиву з індексом виглядає так:
a[i]
У розглянутому випадку а - це масив, що i - це індекс елемента. Слайсинг означає передачу повної копії масиву або вибіркову послідовність з членів списку. Діапазон бажаних значення вказується у квадратних дужках[x:y:z]. В якості аргументів x представляється початок відліку, y - кінець, а z - крок проходження по елементам масиву при кожній ітерації. X за замовчуванням позначає початок списку, y - кінець, z дорівнює одиниці. Якщо вказати z як негативне число, значення списку передаються в зворотному порядку з кінця до початку.





