파이썬 코딩을 더 깔끔하게! #2

Dunno·2021년 7월 3일
0

Better way2. PEP8 스타일 가이드를 따르라.

PEP8 이란?

  • 파이썬 코드를 어떤 형식으로 작성할지 알려주는 가이드
  • 파이썬 프로그래머들과 커뮤니티의 공통된 스타일을 공유하여 프로젝트를 수행할 수 있음.

공백

  • 파이썬에서 공백은 탭, 스페이스, new line 등의 문자를 모두 합친 말
  • 인덴트는 공백 4칸 스페이스, 탭 사용 가능
  • 라인 길이는 79개 문자 이하여야 한다.
  • 긴 식을 다음 줄에 이어서 쓸 경우에는 일반적인 들여쓰기보다 4 스페이스를 더 들여 써야한다.
  • 파일 안에서 각 함수와 클래스 사이에는 빈 줄을 두 줄 넣어라
  • 클래스 안에서 메서드와 메서드 사이에는 빈 줄을 한 줄 넣어라
class A:
	def __init__(self):
	# < 메서드 사이의 공백 >
	def add(self, num):
  • 딕셔너리에서 키와 콜론(:) 사이에는 공백을 넣지 않고, 한 줄 안에 키와 값을 같이 넣는 경우에는 콜론 다음에 스페이스를 하나 넣는다.
fruits = {"name":<공백>"banana"}
  • 변수 대입에서 = 전후에는 스페이스를 하나씩만 넣는다.
num=1 (X)
num = 1 (O)
  • 타입 표기를 덧붙이는 경우에는 변수 이름과 콜론 사이에 공백을 넣지 않도록 주의하고, 콜론과 타입 정보 사이에는 스페이스를 하나 넣어라.
nums: List[int]
target: int

명명 규약

  • 언어의 여러 요소에 이름을 명명하는 규약
#함수, 변수, 어트리뷰터
lower_case

#보호되어야 하는 인스턴스 애트리뷰트
_lower_case

#private인스턴스 애트리뷰트
__lower_case

#클래스
ThisClass

#모듈수준의 상수
ALL_CAPS

#클래스의 인스턴스 메서드
def(self,~~)

#클래스 메서드
def(cls,~~~)

식과 문

  • 식과 문장을 작성할 때 스타일 규칙
#부정을 후위에 둬라
#if not a is b
if a is not b:

#빈 컨테이너 시퀀스 (빈 것은 암묵적 False)
if len(list) == 0 (X)
if not list: (O)
if list: (O)

#한줄짜리 조건문, 반복문을 사용하지 마라
if not list: print("1조 화이팅")
->
if not list:
	print("1조 화이팅")

#식을 한줄에 다 못쓸경우 여러줄에 걸쳐서 (괄호로)
#명시
if (식이 너무 길어서 
	다음거까지):

임포트 가이드라인

  • import 문은 항상 파일 맨앞에 위치시켜라.
import time
import datetime

time.time()
  • 모듈 임포트할 때는 웬만하면 상대경로를 사용하지 말아라
from foo import bar # 0
from . import bar # X
  • 표준 라이브러리 → 서드 파티 모듈 → 만든 모듈 (알파벳 순서)
import os
import sys
import time
import tensorflow as tf
from mymodule import function

기억해야 할 내용

  • PEP8을 꼭 따르라
  • Github 같은 커뮤니티에 공유하면 도움이 된다.
  • 일관성 있는 스타일을 사용해라.

0개의 댓글