В следующем коде:
In [5]: if 2 > 1 & 1 > 0:
...: print("True")
...:
True
Я знаю, что: >
является сравнительным оператором, &
является логическим/побитовым оператором, =
- оператор присваивания,
Как насчет толстой кишки :
? Как я мог назвать это абстрактным понятием, а не двоеточие:
In [6]: def foo(): return 3
In [7]: foo()
Out[7]: 3
В приведенных выше кодах :
действовать как =
присвоение.
Я проверил официальные документы 2. Лексический анализ - документация Python 3.6.6
2.6. Delimiters
The following tokens serve as delimiters in the grammar:
( ) [ ] { }
, : . ; @ = ->
+= -= *= /= //= %= @=
&= |= ^= >>= <<= **=
The period can also occur in floating-point and imaginary literals.
Я заметил, что все разделители имеют соответствующее значение: (для кортежа, [для списка конструктора, @для декоратора ,
для истинного разделителя, .
Для доступа к атрибутам.
Исключение :
?
Как я могу назвать это значащим образом?
:
это просто часть синтаксиса составного оператора, который указывает конец заголовка предложения.
Из документации составных операторов:
Составные утверждения состоят из одного или нескольких "предложений". Предложение состоит из заголовка и набора. Заголовки предложений конкретного составного оператора находятся на одинаковом уровне отступов. Каждый заголовок статьи начинается с уникально идентифицирующего ключевого слова и заканчивается двоеточием.
indentation
. Может быть, вы можете посмотреть в stackoverflow.com/questions/215581/…&
является только побитовым оператором.and
является логическим оператором.