본문 바로가기
TIL (Today I Learned)/Python

[Python] NEWLINE

by 둥굴프 2023. 3. 28.
파이썬에 대한 기본적인 이해를 위해 작성했습니다.

파이썬 프로그램은 다음과 같은 과정을 거쳐서 실행된다.

 

physical lines of code (end with a physical newline character)→ (Python compiler) → logical lines of code (end with a logical NEWLINE token) → tokenized → (Python interpreter can read) → run code

 

물리적 newline은 무시되기도 하며, 컴파일러에 의해 한 줄의 논리적 코드로 합쳐지기도 한다.

그렇다면, 왜 물리적 무시되는 newline을 작성하게 될까? 읽는 사람의 가독성을 위해서. 또한 inline comment를 작성하기 위해서.

 

파이썬은 암묵적으로 다중 줄 구문을 단일 논리 줄로 변환시키기도 하고, 명시적으로 변환하기도 한다.

다음은 암묵적으로 단일 논리 줄로 변환하는 경우다.

[1,	#item 1
 2,	#item 2
 3	#item 3
]

def my_func(a,
            b,	#comment
            c):
	print(a, b, c)

my_func(10,	#comment
        20, 30)

 

명시적으로 여러 개의 물리적 개행으로 만들기 위해서는 코드 연장을 해야 한다. '\'(backslash)를 사용하여 연장할 수 있다.

if a \
   and b \
   and c:

코드를 연장할 때는 주석을 달 수 없다. (error 발생)

 

Multi-Line String을 작성하기 위해서는 작은 따옴표 혹은 큰 따옴표를 세 번씩 입력하면 된다.

'''이것은
Multi-Line String입니다.'''

"""이것은
Multi-Line String입니다."""

하지만, 중요한 것은 Multi-Line String은 comment가 아니라는 것.

컴파일 과정에서 comment는 무시되지만, Multi-Line String은 컴파일된 바이트코드에 입력된다.(메모리를 할당받게 된다.)

 

아래 사진은 jupiter에서 실행한 예제다.

 

'TIL (Today I Learned) > Python' 카테고리의 다른 글

[Python] While loop  (0) 2023.04.02
[Python] Function  (0) 2023.03.29
[Python] ternary operator  (0) 2023.03.29
[Python] 식별자 이름 짓는 방법  (0) 2023.03.29
[Python] Python Types  (0) 2023.03.28

댓글