Python Guide/PEP 8

PEP 8 -- 나머지 공부

EASYH 2021. 1. 9. 02:50

[21.01.09 작성]

1-2. Tabs or Spaces?

공백 처리

공백 처리하는 방식이 OS (운영체제) 마다 달라서, vs code setting을 linux에 맞춰두는 경우도 있다. 

  • e.g. 윈도우에서 tab으로 작성한 코드를 리눅스에서 사용한다면, 리눅스에서는 tab 사용이 불가능하기 때문에 에러가 난다. 그러나 코드 상 어디서 tab이 사용되었는지 확인할 수 없어, 에러를 수정하기 굉장히 어렵다. 

CR, LF, CRLF (CR+LF)는 새로운 줄 (New line) 으로 바꾸는 방식을 의미. 

  • LF (Line Feed; \n): 커서는 그 자리에 그대로 둔 상황에서 종이만 한 줄 올려 줄을 바꾸는 동작.
  • CR (Carriage Return; \r): 현재 커서를 줄 올림 없이 가장 앞으로 옮기는 동작.
  • CRLF: LF + CR

CRLF는 줄바꿈을 할 때 굳이 2byte를 사용할 필요는 없기 때문에 memory/storage 절약을 위해 CR 혹은 LF 만 사용하기도 함. 

 

대표적으로 Microsoft 사의 Windows는 CRLF (\r\n)을 기본으로 사용하고,

Unix/Linux에서는 LF (\n) 만을 기본으로 사용함. (Mac 초기 버전, 9 버전 이하는 CR (\r) 을 줄바꿈으로 사용)

 

이는 해당 시스템에서 사용하는 default 방식이 그렇다는 것이지, 반드시 해당 시스템에서 해당 방식을 사용해야 한다는 것은 아님. 즉, 변환 가능.  

 

technote.kr/300

 

CRLF / LF / CR 에 대한 이해

CR : Carriage Return (\r) LF : Line Feed (\n) 해당 용어(CR, LF)와 이 용어들의 조합(CRLF)은 새로운 줄 (New line) 으로 바꾸는 방식을 의미한다. CR 과 LF 는 타자기 시절 부터..

technote.kr

m.blog.naver.com/taeil34/221325864981

 

CR(\r), LF(\n)이란 무엇인가?

프로그래밍을 하다 보면 문자열의 줄 내림을 위해서 \n을 쓰는 경우가 있을 것이다. 그런데 윈도우즈에서 ...

blog.naver.com

윈도우 코드는 리눅스에서 잘 안되는데, 리눅스 코드는 윈도우에서 잘 작동함. 

  • 윈도우 코드는 CRLF를 사용하고, 리눅스는 LF를 사용하기 때문에 윈도우 코드를 리눅스에서 사용하면 잘 안되지만,
  • 리눅스 코드를 윈도우에서 사용하는 것은 잘 되는 것!

따라서 리눅스 기반의 방식으로 vs code를 setting 하면, 리눅스 환경과 윈도우 환경 모두에서 코드가 원활하게 작동할 수 있음. 

vs code를 리눅스 기반의 방식으로 setting: vs code에서 tab을 치면 space 4개로 변환되도록 해 둠. 

 

궁금한 점

리눅스 기반의 방식으로 vs code를 setting 한다는 것이, 아래 링크와 같이 tab을 space로 변경한다는 의미인지, 

tttsss77.tistory.com/63

 

Visual studio code 에서 들여쓰기(indentation) 설정하기

Visual studio code 에서 들여쓰기(indentation) 설정하기 본 글에서는 Visual studio code에서 들여쓰기(indentation)을 설정하는 방법을 설명한다. 현재 개발에 적용하고 있는 코딩룰에서는 들여쓰기를 탭..

tttsss77.tistory.com

아니면 리눅스 기반의 setting 자체가 존재하는 걸까?


[21.01.25 작성]

PEP8 적용

  • 원본

 

  • 1차 수정