CWN(CHANGE WITH NEWS) - 파이썬 코드 작성 능력 향상을 위한 PEP8 가이드

  • 맑음북창원-0.5℃
  • 맑음순천-1.2℃
  • 맑음수원-5.1℃
  • 흐림군산-0.4℃
  • 맑음동두천-6.7℃
  • 흐림문경-1.9℃
  • 구름조금강진군2.1℃
  • 구름많음태백-5.8℃
  • 구름많음정읍-1.3℃
  • 맑음고흥-0.2℃
  • 구름많음순창군-2.1℃
  • 맑음강화-6.2℃
  • 흐림부여-3.6℃
  • 맑음홍천-6.1℃
  • 구름많음성산4.0℃
  • 비제주6.5℃
  • 맑음통영1.3℃
  • 구름많음서울-5.3℃
  • 구름조금울진-2.1℃
  • 흐림세종-2.5℃
  • 구름많음완도3.2℃
  • 맑음여수1.0℃
  • 맑음백령도-3.1℃
  • 눈전주-0.6℃
  • 흐림정선군-4.6℃
  • 흐림원주-3.8℃
  • 구름많음해남-0.3℃
  • 눈대전-1.6℃
  • 흐림충주-3.5℃
  • 맑음진주-5.4℃
  • 맑음구미-5.7℃
  • 흐림고산6.3℃
  • 구름많음의성-8.3℃
  • 구름많음남원-3.2℃
  • 맑음산청0.5℃
  • 구름많음고창-2.7℃
  • 맑음의령군-5.0℃
  • 흐림추풍령-1.4℃
  • 맑음남해1.7℃
  • 흐림금산-0.3℃
  • 구름많음서귀포5.3℃
  • 구름많음대관령-8.2℃
  • 구름조금홍성-2.2℃
  • 맑음이천-3.3℃
  • 맑음양산시1.3℃
  • 구름많음진도군3.7℃
  • 맑음철원-9.8℃
  • 맑음포항-1.2℃
  • 흐림서청주-2.3℃
  • 구름많음봉화-4.3℃
  • 흐림제천-3.6℃
  • 구름많음흑산도3.3℃
  • 구름많음고창군-3.2℃
  • 박무북춘천-5.4℃
  • 맑음광양시-0.5℃
  • 흐림영주-2.2℃
  • 구름많음거창-0.3℃
  • 맑음거제1.9℃
  • 맑음임실-3.9℃
  • 맑음인천-6.0℃
  • 흐림장수-1.6℃
  • 맑음북강릉-4.7℃
  • 구름많음청송군-3.0℃
  • 맑음밀양-6.1℃
  • 맑음파주-7.9℃
  • 맑음경주시-7.2℃
  • 눈안동-6.0℃
  • 구름많음천안-2.1℃
  • 눈울릉도0.0℃
  • 흐림부안1.4℃
  • 흐림영월-5.2℃
  • 맑음양평-4.9℃
  • 맑음창원-0.6℃
  • 구름조금강릉-1.0℃
  • 맑음김해시-0.7℃
  • 맑음서산-3.6℃
  • 구름많음보령-0.6℃
  • 구름많음목포2.9℃
  • 구름조금동해-1.0℃
  • 눈청주-2.3℃
  • 맑음속초-1.9℃
  • 구름많음함양군0.8℃
  • 맑음춘천-6.0℃
  • 안개광주-0.8℃
  • 맑음장흥-3.6℃
  • 맑음울산-3.5℃
  • 맑음보성군-2.0℃
  • 맑음대구-4.0℃
  • 맑음합천-4.2℃
  • 구름많음영광군1.6℃
  • 맑음영천-5.2℃
  • 맑음북부산-4.9℃
  • 흐림상주-2.0℃
  • 맑음부산0.8℃
  • 구름조금영덕-0.8℃
  • 흐림보은-2.3℃
  • 흐림인제-6.1℃
  • 2026.01.24 (토)

파이썬 코드 작성 능력 향상을 위한 PEP8 가이드

박기림 / 기사승인 : 2021-02-02 03:02:26
  • -
  • +
  • 인쇄

파이썬은 가장 큰 인기를 자랑하는 언어 중 하나이다. 그만큼 많은 비전공자가 파이썬을 통해 프로그래밍에 입문하곤 한다.

파이썬의 묘미는 '말하는 대로' 쓰이는 언어라는 것에 있다. 이러한 특징 때문에 개발자들은 '파이썬 코드는 작성하는 것보다 읽는 것이 더 쉬워야 한다'라고 생각한다.

이를 위해 PEP8(Python Enhanced Proposal)이 존재한다. PEP8은 파이썬 코드의 작성 규칙을 설명하는 문서이다. PEP8은 코드의 가독성을 높이면서 파이썬 코드의 작성법을 일관적으로 만든다.

본래 PEP8 문서 중 이해가 비교적 간단하고, 초심자가 활용할 만한 사항을 정리하여 소개해본다.

들여쓰기, 공백 및 줄 바꿈

한 번의 들여쓰기에 4개의 스페이스를 사용해야 한다.연결되는 라인(괄호 속 인자들과 같은)에서 줄 바꿈이 일어나는 요소들은 수직으로 정렬되어야 한다.Tab과 스페이스가 혼용된 파이썬 문서의 경우 문제가 생길 수 있다. 스페이스를 선호한다.한 줄의 최대 길이는 79문자로 제한된다.가독성 면에서 이항연산자 전에 줄 바꿈을 하는 것을 추천한다.클래스 블럭은 위아래로 2줄의 공백을 둔다.클래스 내부의 메서드는 위아래로 1줄의 공백을 둔다.괄호 속의 상황과 관계없는 공백, 콤마 전의 공백, 슬라이스에서의 공백, 후행 공백, 다른 변수와의 줄맞춤을 위한 과도한 공백 등은 피한다.기본 파라미터 값을 나타내는 '=' 주변에는 공백을 두지 않는다.이진연산자, 화살표는 공백을 두고 사용해야 한다.

주석

주석은 가능한 영어로 작성한다.주석은 완전한 문장이어야 하며, 가능한 대문자로 시작한다.인라인주석은 가급적 피한다.메서드의 역할을 적는 닥스트링의 경우, 이 주석은 def라인 다음에 위치해야 한다.

네이밍 작성 규칙

모듈의 이름은 짧고, 모두 소문자여야 한다. 언더스코어는 경우에 따라 사용될 수 있다.패키지의 이름은 짧고, 모두 소문자여야 한다. 언더스코어를 사용할 수 있다.클래스의 이름은 대문자로 시작하여, 대문자로 단어를 구분하도록 한다.함수 이름은 언더스코어로 구분된 소문자 단어로 작성한다.변수 이름은 함수 이름과 같은 규칙을 가진다.

프로그래밍 권장 사항

람다 표현식을 할당하는 것보다, def문을 사용하는 것을 권장한다.함수에 있는 모든 return 구문은 일관되게 표현식을 반환하거나, 반환하지 않아야 한다.가능한 경우, 슬라이스보다 startwith(), endwith()를 사용하는 것이 가독성과 에러 발생 면에서 좋다.오브젝트 타입 비교는 항상 직접적인 비교 대신 isinstance()를 사용해야 한다.불린 값을 True, False에 '=='으로 비교하지 않도록 한다.

PEP8의 중심은 가독성과 일관된 작성법에 있다. 때문에, 이 가이드는 권고일 뿐, 반드시 이 가이드의 내용을 따라야 한다는 것이 아님을 명심해야 한다.

다음은 가이드라인을 준수하지 않아도 되는 경우이다.

PEP에 따라 코드를 읽는데도 가이드라인을 적용하는 것이 오히려 코드의 가독성을 해치는 경우과거에 PEP을 준수하지 않고 작성한 코드와의 일관성을 유지하는 경우코드 작성 시기가 PEP8의 작성 시기보다 앞서며, 코드를 수정할 필요가 없는 경우과거 버전의 파이썬으로 작성된 코드가 PEP8을 준수하면 호환성에 문제가 생기는 경우이러한 경우들까지도 가이드라인에 명시가 되어있음으로써 PEP8의 성격을 더 잘 보여주고 있다.

규모가 큰 프로젝트일수록 많은 사람들이 내 코드를 읽게 된다. 이때, 가독성이 좋은 코드는 분명한 도움이 된다. 더 좋은 파이썬 코드 작성을 위해, PEP8 가이드를 읽어보는 것이 아주 큰 도움이 될 것이다. PEP8은 파이썬 공식 사이트에서 읽어볼 수 있다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue