Я новичок в Python.
Короче:
Во время сценариев я постоянно хочу тестировать небольшие биты и куски моих программ, копируя/вставляя некоторые строки кода из моего текстового редактора в интерпретатор Python командной строки. Когда эти строки отступы (например, потому что они являются частью функции), я бы хотел, чтобы интерпретатор либо игнорировал, либо не проверял отступы, так что мне не нужно их отменить до копирования/вставки. Возможно ли это?
Подробнее:
Вот упрощенный пример того, что я имею в виду:
Скажем, мой текстовый редактор содержит следующий модуль, который в настоящее время разрабатывается:
def MyFunc(arg):
.../...
if arg == 1:
print "This is my function called with value 1."
print "Done."
else:
print "This is my function called with value other than 1."
print "Nothing else to say."
.../...
И позвольте сказать, что я просто хочу протестировать 2 первых строки print
(строки 4 и 5 вышеприведенного кода) сразу, чтобы быстро проверить, работает ли, по крайней мере, часть моего модуля, как ожидалось. Если я выберу обе строки вместе, я, по крайней мере, выберем вдоль отступа для второй строки (если не для обоих). Когда вы вставили в командной строке, я получу ошибку для этого отступа.
Простое принудительное поведение интерпретатора будет состоять в том, что он просто игнорирует отступ.
Более мощным поведением было бы попросить переводчика просто не проверять отступ. То есть если там есть отступы, интерпретатор должен попытаться использовать его, чтобы я мог еще копировать/пропустить даже структурированную часть кода (например, строки с 3 по 8 из вышеуказанного кода). Но в случае ошибок с отступом они просто игнорируют их.
Если нет способа сделать то, о чем я прошу здесь, тогда есть трюки для выполнения чего-то подобного: простой способ быстро проверить фрагменты кода без необходимости запускать всю программу каждый раз, когда вы просто хотите настроить небольшие ее части здесь и там.
NB 1: unindenting НЕ решение для того, что я ищу.
NB 2: наличие интерпретатора вместе с возможностью копирования/вставки предлагает очень мощный способ простого тестирования кода, но явный механизм отступов Python является сильным недостатком такого использования интерпретатора, как описано здесь, если поворот не может быть найденным. Было бы жалко.