Как написать код из более чем 1 строки в интерпретаторе Python?

У меня проблема с кодированием 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)
3
задан slhck
21.03.2023 23:46 Количество просмотров материала 3634
Распечатать страницу

8 ответов

добавить обратную косую черту (\)

трюк – похож на то, что вы сделали бы в bash, например - для добавления обратной косой черты. Например, если я хочу напечатать 1:

charon:~ werner$ python
>>> print 1
1
>>> print \
... 1
1
>>> 

если вы пишите \, Python предложит вам ... (продолжение строки), чтобы ввести код в следующей строке, так сказать.

Примечание: это то, что автоматически происходит при создании функции или определения класса, т. е. время, когда ты действительно нужно новая линия, так что никогда не бывает хорошего использования для этого, или, по крайней мере, ничего, о чем я знаю. Другими словами, Python достаточно умен, чтобы знать, что вам нужны строки продолжения при вводе нового определения функции или других подобных конструкций (например,if:). В этих автоматических случаях обратите внимание, что вам нужно ввести пустую строку с помощью \ сказать Python, что вы закончили.

для всего остального, нужно написать одну строку после другой. То, как работает переводчик, это то, что он, ну, интерпретирует каждую строку, которую вы его кормите. Не больше, не меньше. Он будет только "действовать", когда увидит новую строку, поэтому говорит переводчику выполнить то, что вы ему дали. Одна обратная косая черта не позволит переводчику получить символ новой строки (т. е. он не будет знать, что вы на самом деле нажали введите), но он в конечном итоге получит один.

интерпретатор Python имеет передовая возможности когда вы используете GNU readline, такие как Emacs или vi-стиль привязки клавиш для навигации в строке (например,Ctrl-A). Однако они работают только в одной текущей строке. История есть, как хорошо, просто попробуйте и нажмите .

что если я хочу, чтобы запустить сложные линии снова и снова?

вы, вероятно, хотите использовать правильные исходные файлы, если хотите выполнять более одной строки кода одновременно.

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

24
отвечен slhck 2023-03-23 07:34

как насчет использования ;\? Точка с запятой сигнализирует о завершении команды, а обратная косая черта-о том, что мы продолжаем выполнение следующей строки. Например, типа python в командной строке, чтобы попасть в интерпретатор Python, затем

>>> x=0 ;\
... print(x) ;\
... x=4 ;\
... print(x)

должны дать выход

0
4
5
отвечен Garrett 2023-03-23 09:51

Я просто набрал в командной строке следующую команду, и она работала просто отлично:

$ python
Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> my_age = 35
>>> my_eyes = 'Blue'
>>> print "my age is %d and my eye color is %s" % (my_age, my_eyes)
my age is 35 and my eye color is Blue
>>> 

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

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

$ python
Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "first line"
first line
>>> print "second line"
second line
>>> 

если это проблема, вы можете вложить несколько операторов в (правильно с отступом!)if о себе:

$ python
Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> if 1:
...     print "first line"
...     print "second line"
... 
first line
second line
>>> 

(Я бы предложил, даже если это не отвечает на ваш вопрос, что если вы пишете код, который достаточно сложен для этого, вы должны писать сценарии. Возможно, вы начали это делать через полтора года вы разместили вопрос.)

2
отвечен Keith Thompson 2023-03-23 12:08

проще говоря, если вы хотите учиться и хотите запустить более одной строки, вы пишете ее в a .файл py.

метод обратной косой черты хорош, когда вы быстро хотите запустить серию команд, но это не помогает, когда вы учитесь.

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

1
отвечен Rory Alsop 2023-03-23 14:25

попробуйте этот ролик на YouTube, который проходит по делу заявления и важность отступов: https://www.youtube.com/watch?v=JkXPxMOSJTY

1
отвечен PVGP 2023-03-23 16:42

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

print("more string") ; print(3)

это даст вам результат

more string

3

без каких-либо ошибок

Я только что использовал';', чтобы написать в другой строке

Я надеюсь, что мой ответ может помочь вам

0
отвечен Curious Blade 2023-03-23 18:59

просто покиньте оболочку и откройте новый файл редактора. Т. е. перейдите в меню Файл и откройте новый файл. Напишите столько строк кода, сколько хотите.

0
отвечен Hemant Gautam 2023-03-23 21:16

в трех точках убедитесь, что нажать клавишу "tab", прежде чем ввести следующую команду. Таким образом, вы можете продолжать писать столько команд. Поэтому, когда вы нажимаете enter после написания второй строки кода, интерпретатор позволяет ввести третью строку кода... как и в Примере Фибоначчи ниже (из учебника):

a, b=0,1 в то время как b<10: ... print (b) # Если вы вводите команду печати сразу после точек и нажимаете клавишу enter в конце, u будет ошибка отступа. Вместо этого нажмите вкладку после трех точек, затем напишите свой код и нажмите клавишу enter, это позволит вам ввести третью строку кода и так далее. Посмотрите на пример ниже (из учебника):

A,Б=0,1 # затем ввести ключ в то время как b<10:#, а затем введите ключ ... напечатайте(b)#, а затем введите ключ. обратите внимание на вкладку после трех точек ... А,Б=Б,А+Б # затем ввести ключ ...введите ключ # No more команды для ввода

вы увидите результат выше прог

-1
отвечен Shashi 2023-03-23 23:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх