질문이 있으십니까?

기본 컨텐츠 및 사용자가 직접 참여하여 만들어진 다양한 내용을 검색합니다.

Python 명명규칙

명명 스타일

  • b (한 개의 소문자)
  • B (한 개의 대문자)
  • lowercase 소문자
  • lower_case_with_underscores 소문자 단어들이 언더바로 연결된 형식
  • UPPERCASE 대문자
  • UPPER_CASE_WITH_UNDERSCORES 대분자 단어들이 언더바로 연결된 형식
  • CapitalizedWords CapWords 혹은 CamelCase - CamelCase라는 이름은 글자가 툭 튀어나온 모양 때문에 붙은 이름이다, 간혹 StudlyCaps라고도 불린다. 주의: CapWords에서 단어를 약어로 사용할 경우, 약어의 모든 글자를 대문자로 기술한다. 그러므로 HTTPServerError가 HttpServerError를 사용하는것 보다 낫다.
  • mixedCase CapWords와 다른 점은 첫 글자가 소문자라는 것이다.
  • Capitalized_Words_With_Underscores 이건 별로다.

피해야할 이름

  • 소문자 l(엘) 숫자 1과도 비슷하고, 영문 대문자 I 하고도 비슷하여 피해야 합니다.
  • 대문자 O(오) 숫자 0과 비슷하여 피해야 합니다.
  • 대문자 I(아이) 숫자 1과 비슷하고, 영문소문자 l(엘)과도 비슷하여 피해야 합니다.

패키지명, 모듈명

  • 모듈명 모듈 이름은 짧아야 하고, 전부 소문자여야 합니다. 가독성을 위해서라면 밑줄(_)을 사용합니다.
  • 패키지명 패키지 이름 또한 짧아야 하고, 전부 소문자여야 합니다. 밑줄은 권장하지 않습니다.

클래스명

  • CapWords 클래스 이름은 CapWords 형식(단어를 대문자로 시작)을 따릅니다.

exception명

  • 클래스와 동일 exception은 클래스이므로, class와 동일하게 적용됩니다.
  • 맨 뒤 다만, 맨 뒤는 Error로 끝나야 합니다.

전역변수명

  • 함수명과 동일 전역 변수의 이름을 짓는 것은, 함수 이름을 짓는 것과 동일합니다.
  • 주의 from M import *과 같이 쓰일 모듈에서는 global이 export될 것을 방지하기 위해 all 매커니즘이나 혹은 맨 앞을 밑줄로 시작해야 합니다.

함수명

  • 원칙 함수의 이름은 원칙적으로 소문자여야 하고, 가독성을 위해서 밑줄(_)로 단어를 나눌 수 있습니다.
  • 예외 간혹 threading.py같이 이미 대/소문자를 혼용하는 경우는 대/소문자를 같이 쓰는 경우도 있습니다.

함수와 메소드의 인자명

  • 무조건 메소드 인스턴스에 쓰이는 첫 번째 인자는 무조건 self여야 합니다.
  • 무조건 클래스 메소드의 첫 번째 인자는 무조건 cls여야 합니다.
  • 대체 예약된 키워드(in등)와 함수의 인자가 겹치는 경우, 변수 이름 맨 뒤에 밑줄 하나를 붙이는 것으로 대체합니다.(ex, class_)

메소스명, 인스턴스명

  • 함수 이름과 동일합니다.
  • public이 아닌 메소드나 인스턴스의 이름은 밑줄로 시작합니다.

댓글을 작성하세요

문서 이력

  • 2020-06-13 날짜로 신달수 님으로 부터 컨텐츠명이 변경 되었습니다.