Имя разделителя `:` в значимом смысле

1

В следующем коде:

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. 

Я заметил, что все разделители имеют соответствующее значение: (для кортежа, [для списка конструктора, @для декоратора , для истинного разделителя, . Для доступа к атрибутам.

Исключение :?

Как я могу назвать это значащим образом?

  • 0
    Двоеточие в конце строки блока кода предназначено для indentation . Может быть, вы можете посмотреть в stackoverflow.com/questions/215581/…
  • 0
    FYI & является только побитовым оператором. and является логическим оператором.
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

: это просто часть синтаксиса составного оператора, который указывает конец заголовка предложения.

Из документации составных операторов:

Составные утверждения состоят из одного или нескольких "предложений". Предложение состоит из заголовка и набора. Заголовки предложений конкретного составного оператора находятся на одинаковом уровне отступов. Каждый заголовок статьи начинается с уникально идентифицирующего ключевого слова и заканчивается двоеточием.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню