Оператори і вирази - a byte of python
Більшість пропозицій (логічних рядків) в програмах містять вирази. Простий приклад вираження: 2 + 3. Вираз можна розділити на оператори і операнди.
Оператори - це якийсь функціонал, що виробляє будь-які дії, який може бути представлений у вигляді символів, як наприклад +. або спеціальних зарезервованих слів. Оператори можуть виробляти деякі дії над даними, і ці дані називаються операндами. У нашому випадку 2 і 3 - це операнди.
Оператори¶
Коротко розглянемо оператори та їх застосування:
Зверніть увагу, обчислити значення виразів, даних в прикладах, можна також використовуючи інтерпретатор інтерактивно. Наприклад, для перевірки вираження 2 + 3 скористайтеся інтерактивною командним рядком інтерпретатора Python:
Оператори і їх застосування
x and y дає False. якщо x одно False. в іншому випадку повертає значення y
x = False; y = True; x and y повертає False. оскільки x одно False. В цьому випадку Python не стане перевіряти значення y. так як вже знає, що ліва частина виразу 'and' дорівнює False. що має на увазі, що і все вираз в цілому дорівнюватиме False. незалежно від значень всіх інших операндів. Це називається скороченою оцінкою булевих (логічних) виразів.
Якщо x одно True. в результаті отримаємо True. в іншому випадку отримаємо значення y
x = True; y = False; x or y дає True. Тут також може проводитися укорочена оцінка виразів.
Короткий запис мат. операцій і прісваіванія¶
Найчастіше результат проведення якоїсь математичної операції необхідно привласнити змінній, над якою ця операція проводилася. Для цього існують короткі форми запису виразів:
Ви можете записати:
Зверніть увагу, що вирази виду "змінна = змінна операція вираз" набирає вигляду "змінна операція = вираз".
порядок вичісленія¶
Якщо є вираз виду 2 + 3 * 4. що виробляється раніше: додавання множення? Шкільний курс математики говорить нам, що множення має проводитися в першу чергу. Це означає, що оператор множення має вищий пріоритет, ніж оператор додавання.
Наступна таблиця показує пріоритет операторів в Python, починаючи з найнижчого (найслабше зв'язування) і до найвищого (найсильніше зв'язування). Це означає, що в будь-якому вираженні Python спершу обчислює оператори і вирази, розташовані внизу таблиці, а потім оператори вище по таблиці.
Ця таблиця взята з Довідника по мові Python (англ.) І наводиться тут для повноти опису. На практиці краще використовувати дужки для угруповання операторів і операндів, щоб в явному вигляді вказати порядок обчислення виразів. Заодно це полегшить читання програми. Більш детально див. Розділ Зміна порядку обчислення нижче.
Оператори, про які ми не згадали, будуть пояснені в подальших главах.
У цій таблиці оператори з рівним пріоритетом розташовані в одному рядку. Наприклад, + і - мають рівний пріоритет.
Зміна порядку вичісленія¶
Для полегшення читання виразів можна використовувати дужки. Наприклад, 2 + (3 * 4) виразно легше зрозуміти, ніж 2 + 3 * 4. яке вимагає знання пріоритету операторів. Як і все інше, дужки потрібно використовувати розумно (не перестарайтеся) і уникати зайвих, як в (2 + (3 * 4)).
Є ще одна перевага у використанні дужок - вони дають можливість змінити порядок обчислення виразів. Наприклад, якщо складання необхідно провести перш множення, можна записати щось на зразок (2 + 3) * 4.
Ассоціатівность¶
Оператори зазвичай обробляються зліва направо. Це означає, що оператори з рівним пріоритетом будуть оброблені по порядку від лівого до правого. Наприклад, 2 + 3 + 4 обробляється як (2 + 3) + 4.
Вираженія¶
Приклад (збережіть як expression.py):
Довжина і ширина прямокутника зберігаються в змінних length і breadth відповідно. Ми використовуємо їх для обчислення периметра і площі прямокутника за допомогою виразів. Результат вираження length * breadth зберігається в змінної area. після чого виводиться на екран функцією print. У другому випадку ми безпосередньо підставляємо значення виразу 2 * (length + breadth) в функцію print.
Також зверніть увагу, як Python "красиво друкує" результат. Незважаючи на те, що ми не вказали пробілу між 'Площа дорівнює' і змінної area. Python підставляє його за нас, щоб отримати гарний і зрозумілий висновок. Програма ж залишається при цьому легкочитаємий (оскільки нам не потрібно піклуватися про прогалини між рядками, які ми виводимо). Це приклад того, як Python полегшує життя програмісту.
Ми побачили, як користуватися операторами, операндами і виразами. Це основні будівельні блоки будь-якої програми. Далі ми побачимо, як це застосувати на практиці.
Прімечанія¶
"True" - англ. "Вірно (Правда)"; "False" - англ. "Помилково (Брехня)". (Прим. Перекл.)
"Tuple" - англ. "Кортеж" (прим. Перекл.)