использование альтернативного синтаксиса строковых кавычек в python

Просто интересуюсь...

Я нахожу использование escape-символов слишком отвлекающим. Я бы предпочел сделать что-то вроде этого (консольный код):

>>> print ^'Let's begin and end with sets of unlikely 2 chars and bingo!'^
Let's begin and end with sets of unlikely 2 chars and bingo!

Обратите внимание на ' внутри строки и на то, что этот синтаксис не будет иметь проблем с ним или что-то еще внутри практически во всех случаях. Жаль, что markdown не может правильно раскрасить его (пока), поэтому я решил его <pre>.

Конечно, ^ может быть любым другим символом, я не уверен, что будет выглядеть/работать лучше. Это звучит достаточно хорошо для меня, т.

Вероятно, на каком-то другом языке уже есть подобное решение. И, может быть, в Python уже есть такая функция, а я ее проглядел. Я надеюсь, что это так.

Но если это не так, будет ли слишком сложно как-то изменить интерпретатор Python и иметь возможность выбирать произвольный (или даже стандартизированный) синтаксис для обозначения строк?

Я понимаю, что есть много способов изменить операторы и весь синтаксис в целом используя предварительные компиляторы, но это гораздо более конкретно. И любой из этих путей я называю слишком трудным. Мне на самом деле не нужно это делать, поэтому, опять же, мне просто интересно.


person cregox    schedule 11.05.2010    source источник
comment
Я бы подумал, что вашего выбора «строка», «строка», «строка» и «строка» было бы достаточно почти во всех ситуациях. Что мне не хватает?   -  person Blair Conrad    schedule 11.05.2010
comment
@Blair Conrad, вам также не хватает перестановок этих строк с префиксом R, например. Rстрока.   -  person Mark Ransom    schedule 11.05.2010
comment
@ Блэр, на самом деле ты пропустил, может быть, я пропустил это. ;-)   -  person cregox    schedule 12.05.2010
comment
@Марк Рэнсом, правда. и с префиксом r. Но я подумал, что rsstrings выходят за рамки исходного вопроса - он, похоже, больше сосредоточен на разделителях, чем на встроенных побегах.   -  person Blair Conrad    schedule 12.05.2010


Ответы (1)


Python использует """ или """ в качестве разделителей

print '''Let's begin and end with sets of unlikely 2 chars and bingo'''

Как часто у вас есть и 3', и 3" в строке

person mmmmmm    schedule 11.05.2010
comment
Не часто, но бывает. Большое спасибо! :) - Это также намного лучше выглядит, чем мое слабое предложение. Чертовски здорово, что он уже есть! - person cregox; 12.05.2010
comment
@Cawas, это нередкая реакция на Python. Батарейки в комплекте — это еще не все. - person Mark Ransom; 12.05.2010
comment
Что касается синтаксиса, который я вижу в некоторых кодах, использующих """ для цитирования комментариев прямо под любым def? - person cregox; 13.05.2010
comment
Это строки документации python.org/dev/peps/pep-0257. стандартный способ документирования функций и т. д. - person mmmmmm; 14.05.2010