Задать вопрос
YustisKof
@YustisKof
Занимаюсь небольшими бесцельными проектами.

Возможно ли в Python перегрузить двоеточие?

Конечно, как человек, вы должны понимать, что если ответ - "да", вы должны объяснить, как это сделать.
  • Вопрос задан
  • 163 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
kagary06
@kagary06
Человек
Нет, не получится.
Список специальных методов, которые возможны для перегрузки строго определен в документации.
Среди них не упоминается возможность перегрузки оператора двоеточие (colon), так как такого оператора не существует на данный момент в Python, но при этом данный символ (colon) является частью синтаксиса для получения среза из списка, кортежа, строки и др.
Пример:
countries = ["USA", "France", "Canada", "China"]
last_country = countries[-1:]

А также данный символ является маркером для начала объявления блока кода в случаях использования if, while, for, def и class
Пример:
if expr:
   stmt

while expr:
   stmt1
   stmt2

for x in sequence:
   stmt1
   stmt2

def my_function():
   stmt1
   stmt2

class MyClass:
   pass
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@asd111
Можно конечно. Просто перепиши парсер интерпретатора cpython. И поменяй грамматику. :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы