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

Python 함수 이름에 허용되는 문자는 무엇일까? 식별자(Identifier) 규칙 총정리

Python에서 식별자(Identifier)란 클래스, 함수, 변수 등 다양한 개체(entity)에 붙이는 이름을 의미합니다. 식별자를 통해 서로 다른 개체를 구분하고 코드에서 참조할 수 있습니다. 이 글에서는 Python에서 함수 이름이나 변수 이름으로 어떤 문자를 사용할 수 있는지, 그리고 어떤 규칙을 지켜야 하는지 자세히 알아보겠습니다.

Python 식별자 작성 규칙

Python 식별자는 다음 세 가지 요소의 조합으로 만들 수 있습니다.

  • 영문 소문자 (a ~ z)
  • 영문 대문자 (A ~ Z)
  • 숫자 (0 ~ 9)
  • 밑줄(Underscore, _)

예를 들어 myClass, var_3, print_to_screen 같은 이름은 모두 유효한 식별자입니다.

1. 숫자로 시작할 수 없습니다

식별자는 반드시 영문자 또는 밑줄(_)로 시작해야 하며, 숫자로 시작하는 것은 허용되지 않습니다. 따라서 2variable은 잘못된 이름이지만, variable2처럼 숫자가 뒤에 오는 경우는 전혀 문제없습니다.

2. 예약어(Keyword)는 사용할 수 없습니다

Python에서 이미 문법적으로 예약된 키워드는 식별자로 사용할 수 없습니다. 예를 들어 global은 Python의 키워드이므로 변수 이름으로 사용하면 문법 오류(SyntaxError)가 발생합니다.

예제

global = "syntax"
print(global)

출력 결과

File "identifiers1.py", line 1
    global = "syntax"
           ^
SyntaxError: invalid syntax

설명: 위 코드는 global이라는 키워드를 일반 변수처럼 사용해 문자열 값을 할당하려고 했기 때문에 실행 시점에 문법 오류가 발생합니다. 이처럼 키워드는 식별자 용도로 절대 사용할 수 없습니다.

3. 특수 기호(!, @, #, $, % 등)는 사용할 수 없습니다

식별자에는 느낌표(!), 골뱅이(@), 샵(#), 달러($), 퍼센트(%) 같은 특수 기호를 포함할 수 없습니다.

예제

$local = 5
print($local)

출력 결과

File "identifiers2.py", line 1
    $local = 5
    ^
SyntaxError: invalid syntax

설명: 위 코드는 변수 이름에 특수 문자인 $를 사용했기 때문에 실행 시 문법 오류가 발생합니다. 특수 기호는 연산자나 다른 문법적 목적으로만 사용되며, 식별자의 일부가 될 수 없습니다.

추가로 알아두면 좋은 식별자 팁

  • 대소문자를 구분합니다. Variablevariable은 서로 다른 식별자로 취급됩니다.
  • 밑줄(_)로 시작하는 이름은 관례상 내부용(private)임을 나타내는 데 자주 사용됩니다. 예를 들어 _internal_var, __private_method 등이 있습니다.
  • Python 3에서는 유니코드 문자도 허용됩니다. 한글 변수 이름(예: 변수1 = 10)도 문법적으로 유효하지만, 협업과 가독성을 위해 영문 식별자를 사용하는 것이 일반적입니다.
  • 길이 제한은 없지만, 너무 긴 이름보다는 의미를 명확히 전달하는 적절한 길이의 이름을 사용하는 것이 좋습니다.

정리

Python의 함수 이름과 변수 이름(식별자)은 영문 대소문자, 숫자, 밑줄(_)의 조합으로 작성해야 하며, 숫자로 시작할 수 없고, 키워드와 특수 기호는 사용할 수 없습니다. 이 규칙만 지키면 어떤 이름이든 자유롭게 사용할 수 있으니, 읽기 쉽고 의미가 분명한 식별자를 작성하는 습관을 들이는 것이 좋습니다.