Когда if становится оператором?

#python #python-3.x

#python #python-3.x

Вопрос:

Как бы просто это ни звучало, я пытаюсь выяснить, что такое составной оператор if. Я знаю if , что это ключевое слово, и, читая официальную документацию, синтаксис:

 if <expression>:
    <statement>
 

Например:

 if True:
    print(1)
 

Насколько я понимаю, это оператор if, но я хочу его разбить. Когда это становится оператором? Что произойдет, если я использую простой оператор, например pass , в качестве заполнителя?

 if True:
    pass
 

Потому pass что это тоже оператор. Является ли приведенный выше код оператором if, оператором pass или предложением if?

В документации также говорится:

Составное утверждение состоит из одного или нескольких ‘предложений’.

Из моего понимания предложения это ключевое слово, заканчивающееся двоеточием, например elif , and else .

Таким образом, если у меня нет предложений внутри if True: pass , это все еще оператор if? Если да, то почему?

Комментарии:

1. Это в третьем абзаце вверху страницы: «Предложение состоит из заголовка и ‘набора’. Заголовки предложений конкретного составного оператора имеют одинаковый уровень отступа. Заголовок каждого предложения начинается с однозначно идентифицирующего ключевого слова и заканчивается двоеточием. Набор — это группа операторов, управляемых предложением. Набор может представлять собой один или несколько простых операторов, разделенных точкой с запятой, в той же строке, что и заголовок, после двоеточия заголовка, или это может быть один или несколько операторов с отступом в последующих строках. »

2. if True: pass по-прежнему считается оператором if, потому что он использует if , даже если он ничего не делает. То же, pass что и считается полностью допустимым выражением, даже если оно буквально ничего не делает.

3.«Я знаю, что if является ключевым словом» if — это ключевое слово, но оно также может быть двумя разными операторами. (в троичном if / else и в понимании)

4. Что вы подразумеваете под » стать оператором»?

5. @GreenCloakGuy: pass это оператор, а не выражение.

Ответ №1:

if это ключевое слово. if alone никогда не является ни оператором, ни выражением, если на то пошло. Как указано в вашем вопросе, « if оператор» — это оператор следующего вида:

 if <expression>:
    <statement>
 

На самом деле не имеет смысла говорить, что он «становится» оператором в какой-то момент времени; это просто оператор. То есть приведенный выше код — весь, а не if ключевое слово само по себе — является оператором. <statement> Часть также является оператором, но это просто показывает, что некоторые операторы (например, if операторы) содержат другие операторы.