У меня проблема с кодированием Python в терминале. Я просто изучаю основы, поэтому мне не нужно создавать файлы .py.
В терминале я могу запустить одну строку кода в интерпретаторе Python, но как мне написать более одной строки?
Очевидно, что если я нажму enter, он введет команду и не пойдет по линии.
Я просто хочу проверить следующее в терминале:
my_age = 35
my_eyes = 'Blue'
print "my age is %d and my eye color is %s" % (my_age, my_eyes)
Ответы:
Добавьте завершающий обратный слеш (
\
)Хитрость - в том, что вы
bash
, например, сделали бы , - добавить обратную косую черту. Например, если я хочу напечатать1
:Если вы напишите a
\
, Python предложит вам...
(строки продолжения) ввести код, так сказать, в следующей строке.Примечание: это то, что автоматически происходит, когда вы создаете определение функции или класса, то есть время, когда вам действительно нужна новая строка, поэтому для этого никогда не будет действительно хорошего использования, или, по крайней мере, ничего из того, о чем я знаю. Другими словами, Python достаточно умен, чтобы понимать, что вам нужны строки продолжения, когда вы вводите новое определение функции или другие подобные конструкции (например
if:
). В этих автоматических случаях, обратите внимание, что вам нужно ввести пустую строку, используя,\
чтобы сообщить Python, что вы сделали.Для всего остального вам нужно написать одну строку за другой. Интерпретатор работает так, что он хорошо интерпретирует каждую строку, которую вы ему передаете. Не больше, не меньше. Он будет «действовать» только тогда, когда увидит символ новой строки, поэтому говорит переводчику выполнить то, что вы ему дали. Единственная обратная косая черта не даст интерпретатору когда-либо получить символ новой строки (то есть он не будет знать, что вы на самом деле нажали Enter), но в конечном итоге он получит его.
Интерпретатор Python обладает расширенными возможностями, когда вы используете GNU readline, например, Emacs или сочетания клавиш в стиле vi для навигации внутри строки (например Ctrl-A). Тем не менее, они работают только в одной текущей строке. История тоже есть, просто попробуйте и нажмите ↑.
Что если я хочу многократно запускать сложные строки?
Возможно, вы захотите использовать правильные исходные файлы, если хотите выполнять более одной строки кода одновременно.
Или используйте блокноты Jupyter , которые предлагают отличный интерактивный способ создания кода Python со встроенным интерпретатором. Вы можете написать код так же, как в редакторе исходного кода, но вы можете выбрать, какие строки интерпретируются вместе. Затем вы можете выборочно запускать только части кода. Лучший способ - просто попробовать и посмотреть, подходит ли это вашему рабочему процессу.
источник
Как насчет использования
;\
? Точка с запятой сигнализирует об окончании команды и обратном слэше, который мы продолжаем на следующей строке. Например, введитеpython
в командной строке, чтобы войти в интерпретатор Python, затемдолжен дать вывод
источник
Проще говоря, если вы хотите учиться и хотите запустить более одной строки, вы пишете это в файл .py.
Метод обратной косой черты хорош, когда вы хотите быстро выполнить серию команд, но он не помогает, когда вы учитесь.
Вы сможете лучше разрабатывать код, редактировать отдельные команды, не беспокоясь об орфографических ошибках, и повторно использовать фрагменты кода, которые вы найдете полезными, если будете записывать их в небольшой файл.
источник
Я просто набрал следующую строку в командной строке, и она отлично работала:
Способ ввода более одной строки кода в интерактивном интерпретаторе Python - это, ну, в общем, ввод более чем одной строки кода в интерактивном интерпретаторе Python. Я думаю, это будет достаточно для ваших целей.
Это правда, что вы получите новое приглашение после каждой строки, что означает, что, если две из ваших строк кода производят вывод, этот вывод будет разделен приглашениями. Я думаю, это то, что вас беспокоит, хотя пример в вашем вопросе не предполагает, что:
Если это проблема, вы можете заключить несколько утверждений в оператор (с правильным отступом!)
if
:(Я бы предложил, хотя это и не отвечает на ваш вопрос, что если вы пишете достаточно сложный для этого код, вы должны писать сценарии. Возможно, вы начали делать это в течение полутора лет так как вы разместили вопрос.)
источник
Я просто просматривал ответ, который вы получили. Я продолжал экспериментировать, добавляя разные символы. Я наконец получил правильный синтаксис, чтобы написать его. Попробуйте следующее
это даст вам результат
без ошибок
я только что использовал ';' чтобы сделать это написать в другой строке
я надеюсь, что мой ответ может помочь вам
источник
Просто выйдите из оболочки и откройте новый файл редактора. Т.е. перейти в файл и открыть новый файл. Напишите столько строк кодов, сколько хотите.
источник
На трех точках обязательно нажмите клавишу «Tab», прежде чем вводить следующую команду. Таким образом, вы можете продолжать писать столько команд. Поэтому, когда вы нажимаете клавишу ввода после написания второй строки кода, интерпретатор позволяет вам ввести третью строку кода ... как в примере Фибоначчи ниже (из учебника):
вы увидите результат вышеописанной проги
источник