본문 바로가기

Python

[Python] 파이썬의 식별자 규칙과 스타일(스네이크 케이스, 캐멀케이스)

반응형

파이썬의 식별자는 변수, 함수, 클래스 명들을 개발자가 정의하여 사용하는 단어입니다. 단어를 정하실때는 몇가지 규칙이 있는데요. 그 규칙은 아래와 같습니다.

 

  • 키워드 사용금지

  • 특수문자는 언더바(_)만 사용가능

  • 숫자로 시작하면 X

  • 공백 포함 X

 

위 규칙에만 맞으면 파이썬에서 식별자로 사용가능합니다. 영어 뿐만 아니라 한글, 중국어, 스페인어 전 세계 언어를 모두 사용할 수 있습니다. 하지만 영어 외에는 거의 사용하지 않습니다. 왜냐하면 개발을 하다보면 전세계 사람들이 코드를 보게 되는데 가장 많은 개발자들이 이해할 수 있는 언어가 영어기 때문입니다. 위의 규칙에 따르면 아래와 같은 케이스는 식별자로 선언 가능합니다.

item

user_list

_userlist

UserList

user1

 

하지만 아래와 같은 케이스는 불가능입니다.

 

for    # 키워드를 사용하면 안되요

$money    # 특수문자는 언더바(_)만 가능합니다.

1user    #숫자로 시작하면 안되요

my name    # 공백을 포함할 수 없습니다.

 

 

스네이크 케이스와 캐멀 케이스

파이썬의 식별자에는 공백을 포함할 수 없다고 했습니다. 그렇게 되면 두 가지 단어가 합쳐진 식별자의 의미를 직관적으로 알아차리기 어렵다는 단점이 있습니다. 아래 예를 살펴봅시다.

userlist

usercount

userindex

사실 보면 이해를 못할 정도는 아니겠지만 그리 직관적이지는 않습니다. 이런 경우 단어를 구분하기 위해서 두가지 방법을 사용할 수 있는데요. 바로 스네이크 케이스(snake_case)와 캐멀 케이스(CamelCase)입니다. 

 

스네이크 케이스(snake_case)

단어 사이를 언더바(_)로 이어줍니다. 식별자가 마치 뱀처럼 생겼다고 붙혀진 이름입니다. ex) user_list

 

캐멀 케이스(CamelCase)

단어의 첫글자를 대문자로 사용합니다. 식별자의 모양이 마치 낙타모양같아서 붙혀진 이름입니다. ex)UserList

 

캐멀 케이스 같은 경우 첫글자를 소문자로 쓰는 방법과 대문자로 쓰는 방법이 있는데 파이썬에서는 첫문자를 대문자로 사용합니다. 아래 처럼 말이죠.

 

userList # 파이썬에서 사용 X

UserList #파이썬에서 사용

 

그러므로 파이썬에서는 첫문자가 소문자이면 스네이크 케이스 대문자이면 캐멀 케이스입니다. 

user # snake_case

User # CamelCase

 

 

파이썬의 식별자 명명 스타일

파이썬은 변수, 함수, 클래스에 따라 캐멀케이스를 쓸 것인지, 스네이크 케이스로 쓸 것지가 달라집니다. 사실 두가지를 안지켜도 스크립트를 돌아가는데 문제는 없지만 코딩 스타일 가이드가 그렇습니다. 이 부분에 대한 것은 나중에 자세히 업로드할 예정입니다.

 

 

위의 규칙에 따라 아래 식별자를 구분해봅시다.

 

user    # 스케이크 케이스에 괄호가 없으니 변수

User    # 캐멀케이스 이므로 클래스

user_list    # 스케이크 케이스에 뒤에 괄호가 없으니 변수

input()    #스케이크 케이스에 뒤에 괄호가 있으니 함수

 

사실 위에 있는 규칙 말고도 다양한 파이썬 코딩 스타일이 있습니다. 그 부분은 나중에 정리해서 업로드 하도록 하겠습니다.

 

참고 : (책)혼자 공부하는 파이썬 

반응형