Новини високих технологій
» » Оператори Python і їх пріоритет виконання

Оператори Python і їх пріоритет виконання

29-04-2018, 22:59
2 154
У кожної операції є свої оператори. У унарных і бінарних операціях застосовуються базові оператори (додавання, віднімання, заперечення, унарний плюс, унарний мінус, присвоювання ). Тернарний має три аргументи: if умова, вираз, якщо умова == true, і вираз, якщо умова == false. Зрозуміти, що таке оператор, допоможе наступний приклад.

a = b + c

До змінної b додається c, результат присвоюється змінній a. Весь приклад в цілому a = b + c - це вираз. Змінні, які в ньому фігурують, - це операнди. Вироблена операція - додавання, а використовуваний для цього оператор "+".

Арифметичні оператори Python

Пайтон надає величезну кількість бібліотек для вирішення обчислювальних завдань. Великий набір методів ставить Python на один рівень з Matlab і Octave. Арифметичні операції застосовуються відносно до цілих чисел типу int, речовим типу float, комплексним complex.

<script async="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
<!-- fb_336x280_1 -->

<script> (adsbygoogle = window.adsbygoogle ||[]).push({});

Якщо в якості аргументів операції використовуються тільки цілі числа, результат теж буде цілим. Операції між числами з плаваючою крапкою в результаті дадуть ціле, дробове. Єдина операція, при якій взаємодія цілих чисел дає дробове, - це поділ.

Всі можливі арифметичні операції наведені в таблиці.

Додавання

+

Віднімання

-

Множення

*

Поділ

/

Ціла частина від ділення

//

Залишок від ділення

%

Зведення в ступінь

**

Додавання одного числа до іншого виконує оператор additional. Віднімання здійснюється з допомогою subtraction. Множення одного числа на інше відбувається з multiplication. Зведення в ступінь здійснюється з допомогою exponenta. Для ділення використовується division.

<script async="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
<!-- 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 async="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">

<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 як негативне число, значення списку передаються в зворотному порядку з кінця до початку.
Цікаво по темі
Функція jQuery fadeIn(): зміна прозорості елемента
Функція jQuery fadeIn(): зміна прозорості елемента
Анімація на сучасних веб-сторінках давно стала чимось само собою зрозумілим. Розчиняються елементи, що вилітають повідомлення, ковзні галереї
Метод appendTo в jQuery: вставка елементів
Метод appendTo в jQuery: вставка елементів
Синтаксис і особливості використання методу appendTo в бібліотеці jQuery. Контекст виклику, вхідні параметри і значення, що повертається. Специфіка
Перевантаження операторів в С++: основи, приклади
Перевантаження операторів в С++: основи, приклади
У будь-якій науці є стандартні позначення, які полегшують розуміння ідей. Наприклад, в математиці це множення, ділення, додавання і інші символьні
Як здійснити запис у файл Java
Як здійснити запис у файл Java
При написанні програм на мові Java рано чи пізно постане необхідність читання і запису інформації в файл. Для цього в мові передбачені наступні
Як знайти в Python залишок від ділення?
Як знайти в Python залишок від ділення?
Python – простий, сучасний мову для написання коду. Він володіє потужними бібліотеками, здатними обчислити будь-який вираз. Запустивши в
BigInteger Java: робота з великими числами
BigInteger Java: робота з великими числами
Для роботи з числами, які не можуть зберігається в стандартних примітивних типів, в Java є спеціальний клас BigInteger. Він не тільки інкапсулює їх