Автор оригинала: FreeCodeCapm Team.
Вообще хорошая практика для вас не смешивать вкладки и пробелы при кодировке в Python. Делать это, возможно, может вызвать TabError
И ваша программа потерпела крах. Будьте последовательны, когда вы кодируете – выберите, чтобы отступить с помощью вкладок или пробелов и выполнить выбранную вами конвенцию по всей вашей программе.
Кодовые блоки и отступ
Одной из самых отличительных особенностей Python является использование вдавливания для отметки блоков кода. Рассмотрим if-stail из нашей простой программы проверки паролей:
if pwd == 'apple': print('Logging on ...') else: print('Incorrect password.') print('All done!')
Линии печатают («вход в систему …») и печать («Неверный пароль».) – два отдельных блока кода. Этими случаются только одна строка длиной, но Python позволяет писать блоки кода, состоящие из любого количества операторов.
Чтобы указать блок кода в Python, вы должны отступить для каждой строки блока по той же сумме. Две блоки кода в нашем примере IF-оператора являются из-за четырех пробелов, что является типичным количеством отступа для Python.
На большинстве других языков программирования отступа используется только для того, чтобы помочь заставить код выглядеть красиво. Но в Python требуется для указания того, к какому блоку к коду следует относится оператор. Например, окончательная печать («все готово!») Не является отступом, и поэтому не является частью другого блока.
Программисты, знакомые с другими языками, часто щетины, мысль, что вдавливается, что имеет значение вдавливания: многие программисты, как свобода форматирования их кода, как они, пожалуйста. Тем не менее, правила вдавливания Python довольно просты, и большинство программистов уже используют вдавливание, чтобы сделать их код для чтения. Python просто делает эту идею еще один шаг вперед и дает смысл вдавливание.
Если/Элиф-заявления
ELIF-оператор IF/ELIF является обобщенным if-заявлением с более чем одним условием. Он используется для создания сложных решений. Например, предположим, что авиакомпания имеет следующий «ребенок». Отказ Следующая программа определяет, насколько пассажир должен оплатить:
# 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, и если да, то указывает, что летание свободно и выпрыгивает из Элифа-Состояния. Если возраст не менее 2, то он проверяет следующее ELIF-условию, чтобы увидеть, от возраста от 2 до 13. Если это так, он печатает соответствующее сообщение и выпрыгивает из оператора IF/ELIF. Если ни IF-условие, ни элиф-условие не верно, то он выполняет код в другом блоке.
Условные выражения
У 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'
Условные выражения обычно короче, чем соответствующие, если/царствующие операторы, хотя не так гибкие или легко читать. В общем, вы должны использовать их, когда они сделают ваш код проще.
Документация Python – отступ