Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 유효한 식별자란? 작명 규칙과 네이밍 컨벤션 총정리

파이썬 식별자(Identifier)란 무엇인가?

파이썬 프로그램에서 식별자(identifier)는 변수, 함수, 클래스, 모듈, 패키지 등 코드 안의 다양한 요소에 붙이는 이름을 의미합니다. 즉, 개발자가 만드는 모든 객체를 구별하고 참조하기 위한 고유한 이름이라고 할 수 있습니다.

유효한 식별자의 기본 규칙

파이썬에서 유효한 식별자를 만들려면 다음 규칙을 반드시 지켜야 합니다.

  • 식별자는 알파벳(대문자 또는 소문자) 또는 밑줄(_)로 시작해야 합니다.
  • 첫 글자 이후에는 알파벳, 숫자, 밑줄을 자유롭게 여러 개 붙일 수 있습니다.
  • 숫자로 시작하는 이름은 허용되지 않습니다. (예: 1value는 잘못된 식별자)
  • 식별자는 대소문자를 구분하므로 name, Name, NAME은 서로 다른 식별자입니다.

키워드(Keyword)는 식별자로 사용할 수 없다

키워드는 파이썬이 미리 정의해 둔 예약어로, 모두 소문자로 되어 있습니다. if, else, while, class, def 같은 키워드는 문법적으로 특별한 의미를 가지기 때문에 변수나 함수 이름 등 다른 용도로 사용할 수 없습니다.

현재 사용 중인 파이썬 버전의 키워드 목록은 아래처럼 확인할 수 있습니다.

import keyword
print(keyword.kwlist)

파이썬의 네이밍 컨벤션(Naming Convention)

파이썬은 문법으로 강제하지는 않지만, 관례적으로 지켜지는 이름 짓기 규칙이 있습니다. 이러한 컨벤션을 따르면 코드의 가독성과 유지보수성이 크게 향상됩니다.

1. 클래스 이름은 대문자로 시작

관례상 클래스 이름은 대문자 알파벳으로 시작합니다(파스칼 케이스). 반면 함수, 변수, 모듈 등 나머지 요소의 이름은 소문자 알파벳으로 시작하는 것이 일반적입니다.

2. 밑줄 하나(_)로 시작하는 이름: 비공개(private) 변수

변수 이름 앞에 밑줄 하나를 붙이면 해당 변수가 외부에 공개되지 않는 비공개(private) 변수임을 나타냅니다. 이는 암묵적인 약속일 뿐 문법적 제한은 아니지만, 모듈 외부에서 직접 접근하지 말아야 한다는 의사 표현으로 널리 사용됩니다.

3. 밑줄 두 개(__)로 시작하는 이름: 강한 비공개 변수

이름 앞에 밑줄 두 개를 붙이면 변수가 강하게 비공개(strongly private)임을 의미합니다. 파이썬은 이 경우 이름 맹글링(name mangling)을 적용하여 클래스 외부에서 해당 속성에 쉽게 접근하지 못하도록 합니다.

4. 앞뒤로 밑줄 두 개(__name__): 파이썬이 사용하는 특수 이름

이름의 앞과 뒤에 밑줄 두 개씩 붙은 형태는 개발자가 임의로 만들어 쓰는 것이 아니라, 파이썬 언어 자체가 특수한 목적으로 사용하는 매직 메서드(던더 메서드, dunder method)입니다. 대표적인 예는 다음과 같습니다.

  • __init__: 객체 생성 시 자동으로 호출되는 생성자
  • __add__: 덧셈 연산자(+)의 동작을 정의
  • __str__: 객체를 문자열로 표현할 때 사용

정리

유효한 파이썬 식별자는 알파벳이나 밑줄로 시작하고, 그 뒤에 영숫자와 밑줄을 조합해 만듭니다. 단, 키워드는 식별자로 사용할 수 없으며, 밑줄의 위치와 개수에 따라 비공개 변수, 강한 비공개 변수, 언어 차원의 특수 이름이라는 의미가 달라집니다. 이러한 규칙과 컨벤션을 잘 지키면 더 읽기 쉽고 파이썬다운(Pythonic) 코드를 작성할 수 있습니다.