파이썬에서 변수/함수 이름을 지을 때 규칙이 있나요?

조회수 24691회

C#에서는 변수/함수 이름을 지을 때 CamelCase, PascalCase이런 식으로 암묵적인 규칙이 있었는데 python에서도 이런 규칙이 있는지 궁금합니다.

C# 예 :

string thisIsMyVariable = "a" public void ThisIsMyMethod()

python 예:

this_is_my_variable = 'a' def this_is_my_function():

1 답변

  • 좋아요

    2

    싫어요
    채택 취소하기

    PEP 8을 간단하게 요약하면

    피해야 할 이름 :

    • 소문자 l, 대문자 O, 대문자 I하나만 변수의 이름으로 쓰는 것은 권장하지 않습니다. 특정 폰트에서 헷갈릴수도 있기 때문입니다.

    패키지와 모듈의 이름 :

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

    클래스 이름 :

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

    exception의 이름 :

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

    전역변수의 이름 :

    (전역 변수는 하나의 모듈 안에서만 쓰인다고 가정합니다)

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

    함수의 이름 :

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

    함수와 메소드의 인자 :

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

    메소드 이름과 인스턴스의 이름 :

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

    상수의 이름 :

    • 상수 이름은 전부 대문자와 밑줄로 쓰는 것을 원칙으로 합니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)