Python 인터프리터에서 두 줄 이상의 코드를 어떻게 작성합니까?

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)

답변1

후행 백슬래시 추가( \)

요령은 bash예를 들어 에서 수행하는 작업과 유사하게 후행 백슬래시를 추가하는 것입니다. 예를 들어, 다음을 인쇄하고 싶다면 1:

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

을 작성하면 Python은 다음 줄에 코드를 입력하라는 (연속 줄) \메시지를 표시합니다 ....

참고 사항: 이는 함수나 클래스 정의를 만들 때 자동으로 발생하는 일입니다.필요새로운 라인이므로 실제로는 잘 사용되지 않거나 적어도 내가 아는 바는 없습니다. 즉, Python은 새로운 함수 정의나 기타 유사한 구문(예: if:)을 입력할 때 연속 줄이 필요하다는 것을 인식할 만큼 똑똑합니다. 이러한 자동 사례에서는 \Python에 작업이 완료되었음을 알리기 위해 빈 줄을 입력해야 한다는 점에 유의하세요 .

그 밖의 모든 것에는 한 줄씩 작성해야 합니다. 통역사가 작동하는 방식은 사용자가 제공하는 모든 줄을 해석하는 것입니다. 그 이상도 아니고 그 이하도 아닙니다. 개행 문자를 볼 때만 "동작"하므로 인터프리터에게 사용자가 제공한 것을 실행하라고 지시합니다. 단일 백슬래시는 인터프리터가 개행 문자를 수신하는 것을 방지하지만(즉, 사용자가 실제로 를 눌렀는지 알 수 없음 Enter) 결국에는 개행 문자를 수신하게 됩니다.

Python의 인터프리터는고급 기능Emacs 또는 vi 스타일 키 바인딩과 같은 GNU readline을 사용하여 줄 내에서 탐색할 때(예 Ctrl-A: ) 그러나 그것들은 하나의 현재 라인에서만 작동합니다. 기록도 있습니다. 시도해보고 을 누르세요 .

복잡한 라인을 계속해서 실행하고 싶다면 어떻게 해야 합니까?

한 번에 두 줄 이상의 코드를 실행하려면 적절한 소스 파일을 사용하는 것이 좋습니다.

또는 다음을 사용하세요.주피터 노트북, 내장된 인터프리터를 사용하여 Python 코드를 생성하는 훌륭한 대화형 방법을 제공합니다. 소스 코드 편집기에서와 마찬가지로 코드를 작성할 수 있지만 함께 해석되는 줄을 선택할 수도 있습니다. 그런 다음 코드의 일부만 선택적으로 실행할 수 있습니다. 가장 좋은 방법은 그것이 귀하의 작업 흐름에 맞는지 확인하는 것입니다.

답변2

을 사용하는 것은 어떻습니까 ;\? 세미콜론은 명령의 끝을 나타내고 백슬래시는 다음 줄에서 계속된다는 신호입니다. 예를 들어 python명령줄에 입력하여 Python 인터프리터에 들어간 다음

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

출력을 주어야합니다

0
4

답변3

나는 방금 당신이 얻은 답을 검토하고 있었습니다. 나는 다른 기호를 넣어 계속 실험했습니다. 마침내 그것을 작성하는 데 필요한 올바른 구문을 얻었습니다. 다음을 시도해 보십시오.

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

이것은 당신에게 결과를 줄 것입니다

more string

3

오류 하나 없이

방금 ';'을 사용했습니다. 다른 줄에 쓰게 하려면

내 대답이 당신에게 도움이 되기를 바랍니다

답변4

방금 쉘 프롬프트에 다음을 입력했는데 제대로 작동했습니다.

$ 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
>>> 

(귀하의 질문에 대한 답변은 아니더라도 이것이 문제가 될 만큼 복잡한 코드를 작성하고 있다면 스크립트를 작성해야 한다고 제안하고 싶습니다. 아마도 1년 반 동안 그렇게 하기 시작했을 것입니다. 질문을 게시했기 때문에.)

관련 정보