#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
операторы) содержат другие операторы.