Відступ у Python з прикладами

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

Блоки коду та відступ

Однією з найбільш характерних особливостей Python є використання відступу для позначення блоків коду. Розглянемо твердження if з нашої простої програми перевірки паролів:

if pwd == 'apple': print('Logging on ...') else: print('Incorrect password.') print('All done!')

Рядки print ("Вхід в систему ...") і print ("Неправильний пароль.") - це два окремі блоки коду. Ці, здається, займають лише один рядок, але Python дозволяє писати блоки коду, що складаються з довільної кількості тверджень.

Щоб вказати блок коду в Python, потрібно відступити кожен рядок блоку на однакову величину. Два блоки коду в нашому прикладі if-statement - це відступи з чотирьох пробілів, що є типовим відступом для Python.

У більшості інших мов програмування відступ використовується лише для того, щоб зробити код гарним. Але в Python це потрібно для вказівки, до якого блоку коду належить вираз. Наприклад, остаточний відбиток ("Все зроблено!") Не має відступу, а тому не є частиною блоку else.

Програмісти, знайомі з іншими мовами, часто щетиниться, думаючи, що відступ має значення: Багато програмістів люблять свободу форматувати свій код так, як їм заманеться. Однак правила відступу Python досить прості, і більшість програмістів вже використовують відступ, щоб зробити свій код читабельним. Python просто робить цю ідею ще на крок далі і надає значення відступу.

If / elif-твердження

Оператор if / elif - це узагальнене твердження if з декількома умовами. Він використовується для прийняття складних рішень. Наприклад, припустимо, авіакомпанія має такі тарифи на «дитячі» квитки: діти віком до 2 років літають безкоштовно, діти старше 2 років, але молодше 13 років платять за знижку на проїзд для дітей, а всі, хто виповнив 13 років, платять за звичайну дорослу плату . Наступна програма визначає, скільки повинен платити пасажир:

# airfare.py age = int(input('How old are you? ')) if age <= 2: print(' free') elif 2 < age < 13: print(' child fare) else: print('adult fare')

Після того, як Python отримує вік від користувача, він вводить оператор if / elif і перевіряє кожну умову одна за одною в тому порядку, в якому вони задані. Отже, спочатку він перевіряє, чи вік менше 2 років, а якщо так, це вказує на те, що політ вільний і вискакує із стану elif. Якщо вік не менше 2, тоді він перевіряє наступну умову elif, щоб перевірити, чи вік між 2 і 13. Якщо так, він друкує відповідне повідомлення і вискакує з оператора if / elif. Якщо ні умова if, ні умова elif не мають значення True, тоді він виконує код у блоці else.

Умовні вирази

У Python є ще один логічний оператор, який подобається деяким програмістам (а іншим ні!). По суті, це скорочений запис для тверджень if, які можна використовувати безпосередньо у виразах. Розглянемо цей код:

food = input("What's your favorite food? ") reply = 'yuck' if food == 'lamb' else 'yum'

Вираз праворуч від = у другому рядку називається умовним виразом, і він обчислюється або 'yuck', або 'yum'. Це еквівалентно наступному:

food = input("What's your favorite food? ") if food == 'lamb': reply = 'yuck' else: reply = 'yum'

Умовні вирази зазвичай коротші за відповідні твердження if / else, хоча і не настільки гнучкі або легкі для читання. Загалом, ви повинні використовувати їх, коли вони спрощують ваш код.

Документація Python - відступ