Better way 1,2

Jake·2022년 1월 5일
0

Effective Python

목록 보기
1/1

Better way 1: 사용 중인 파이썬의 버전을 알아두라

  • 파이썬 3가 최신 버전이다. 여러분의 프로젝트에서는 파이썬 3를 써야 한다.
  • 여러분의 시스템에 있는 파이썬 실행 파일이 여러분이 원하는 버전인지 확인하라.
  • 파이썬 2는 사용하지 말라.

Better way 2: PEP8 스타일 가이드를 따르라

파이썬 개선 제안(Python Enhancement Proposal)#8, 또는 PEP8은 파이썬 코드를 어떤 형식으로 저장할지 알려주는 스타일 가이드다.

  • 파이썬 코드를 작성할 때는 항상 PEP8 스타일 가이드를 따르라.
  • 일관된 스타일을 사용하면 코드에 더 친숙하게 접근하고, 코드를 더 쉽게 읽을 수 있다.
  • 다른 파이썬 프로그래머들과 큰 커뮤니티의 공통된 코드 스타일을 공유하면 다른 사람과 협력할때 도움이 된다.
  1. 공백
    파이썬에서 공백(whitespace)은 중요한 의미가 있다. 공백과 관련한 다음 가이드라인을 따르라.

    • 탭 대신 스페이스를 사용해 들여쓰기하라.
    • 문법적으로 중요한 들여쓰기에는 4칸 스페이스를 사용하라.
    • 라인 길이는 79개 문자 이하여야 한다.
    • 긴 식을 다음 줄에 이어 쓸 경우에는 일반적인 들여쓰기보다 4 스페이스를 더 들여써라.
    • 파일 내 각 함수와 클래스 사이에는 빈 줄을 두 줄 넣어라.
    • 클래스 안에서 매서드와 매서드 사이에는 빈 줄을 한 줄 넣어라.
    • 딕셔너리에서 키와 콜론 사이에는 공백을 넣지 않고, 한 줄 안에 키와 값을 같이 넣는 경우에는 콜론 다음에 스페이스를 하나 넣는다.
    • 변수 대입에서 = 전후에는 스페이스를 하나씩만 넣는다.
    • 타입 표기를 덧붙이는 경우에는 변수 이름과 콜론 사이에 공백을 넣지 않도록 주의하고, 콜론과 타입 정보 사이에는 스페이스를 하나 넣어라.
  1. 명명 규약

    • 함수, 변수, attribute는 lowercase_underscore처럼 소문자와 밑줄을 사용한다.
    • 보호돼야 하는 instance attribue는 일반적인 attribute 이름 규칙을 따르되, _leading_underscore처럼 밑줄로 시작한다.
    • private instance attribute는 일반적인 attribute 이름 규칙을 따르되, __leading_underscore처럼 밑줄 두 개로 시작한다.
    • 클래스는 CapitalizedWord처럼 여러 단어를 이어 붙이되, 각 단어의 첫 글자를 대문자로 만든다.
    • 모듈 수준의 상수는 ALL_CAPS처럼 모든 글자를 대문자로 하고 단어와 단어 사이를 밑줄로 연결한 형태를 사용한다.
    • 클래스에 들어있는 인스턴스 메서드는 호출 대상 객체를 가리키는 첫 번째 인자의 이름으로 반드시 self를 사용해야 한다.
    • 클래스 메서드는 클래스를 가리키는 첫 번째 인자의 이름으로 반드시 cls를 사용해야 한다.
  2. 식과 문

    • 긍정적인 식을 부정하지 말고(if not a is b) 부정을 내부에 넣어라(if a is not b).
    • 빈 컨테이너(container)나 시퀀스([] '' 등)을 검사할 때는 길이를 0과 비교(if len(smth) == 0)하지 말라. 빈 컨테이너나 시퀀스 값이 암묵적으로 False로 취급된다는 사실을 활용해 if not container라는 조건문을 써라.
    • 마찬가지로 비어있지 않은 컨테이너나 시퀀스([1]이나 hi 등)를 검사할 때도 길이가 0보다 큰지 비교하지 말라. 대신 if container가 비어 있지 않은 경우 암묵적으로 True로 평가된다는 사실을 활용하라.
    • 한 줄짜리 if문이나 한 줄짜리 for, while 루프, 한 줄 짜리 except 복합문을 사용하지 말라. 명확성을 위해 각 부분을 여러 줄에 나눠 배치하라.
    • 식을 한 줄 안에 다 쓸 수 없는 경우, 식을 괄호로 둘러싸고 줄바꿈과 들여쓰기를 추가해서 읽기 쉽게 만들라.
    • 여러 줄에 걸쳐 식을 쓸 때는 줄이 계속된다는 표시를 하는 \문자보다는 괄호를 사용하라.
  3. import

    • import문을 항상 파일 맨 앞에 위치시켜라
    • 모듈을 임포트할 때는 절대적인 이름(absolute name)을 사용하고, 현 모듈의 경로에 상대적인 이름은 사용하지 마라. ex) from bar import foo
    • 반드시 상대적인 경로로 임포트해야 하는 경우에는 from . import foo처럼 명시적인 구문을 사용하라.
    • 임포트를 적을 때는 표준 라이브러리 모듈, 서드 파티 모듈, 여러분이 만든 모듈 순서로 섹션을 나눠라. 각 섹션에서는 알파벳 순서로 모듈을 임포트하라.
profile
Nice to meet you. I would really appreciate your feedbacks. Thank you

0개의 댓글