Инструкция if есть в любом языке программирования, ее используют в Java, C и процедурном Assembler. Синтаксическая модель if в Python отличается. Во многом она гораздо проще и компактнее, но есть свои специфические элементы.
Правила синтаксиса if/else в Python
Python является сценарным языком, поэтому основная его задача - упростить код и облегчить жизнь разработчику. Правило распространяется на все объекты языка, включая инструкцию if. В отличие от C-подобных языков, в Python отсутствуют фигурные скобки, необходимость точки с запятой в конце выражений. Но присутствует один новый элемент. Это знак двоеточия.
Вам будет интересно:Программы обслуживания дисков: примеры
Самый простой пример if/else в Python:
- >>>c = 10
- >>>if c > 2:
- print(c)
- 10
В первой строчке присваивается значение переменной c. Во второй находится основная инструкция с условием. После двоеточия начинается вложенный блок со встроенной функцией print().
Несмотря на простоту конструкции, начинающие программисты совершают одни и те же ошибки. Они забывают ставить двоеточие и делать после него отступ.
Почему важны отступы
Для разработчиков, привыкших ставить точку с запятой в конце каждого выражения, отступы могут показаться непривычными. Но в Python конец строки автоматически означает конец инструкции. Весь код пишется вертикально с логическим выравниванием отступов. Благодаря этому его гораздо легче читать.
Порядок оформления кода определяет порядок выполнения многострочных и составных инструкций if/else в Python:
- if а:
- if б:
- Первое выражение
- else:
- Второе выражение
Если вы работаете в оболочке IDLE, все отступы интерпретатор будет проставлять автоматически. Но при использовании текстовых редакторов за этим придется следить самостоятельно.
Зачем нужны необязательные инструкции
В языке Python if/else также называются условными инструкциями. Это инструмент выбора, отражающий основную логику программного кода. Внутри if может находиться несколько инструкций, включая другие if. После if следует необязательная инструкция else. Если в результате выполнения условий, описанных в if, интерпретатор не возвращает значение True, он переходит к else.
Для более сложных ветвлений кода, в некоторых случаях вводится необязательная инструкция elif. В ней прописываются дополнительные условия. Конструкции if/elif/else в Python выглядят следующим образом:
- if <условие1>: #Инструкция if с условным выражением
- <выражение1> #Ассоциированный блок
- elif <условие2>: #Необязательные части elif
- <выражение2>
- else: #Необязательный блок else
- <выражение3>
После необязательных инструкций ставится двоеточие и обязательный отступ. Часть else предназначена для обработки ситуаций, в которых не найдено ни одного совпадения в if/elif. Согласно правилам, каждая часть кода обрабатывается последовательно. Но условные выражения заставляют интерпретатор выполнять переходы. Поэтому в Python они также называются инструкциями управления потоками.