본문 바로가기
Python

[Python] 파이썬 변수명 규칙: snake_case, CamelCase

by Henry Cho 2022. 9. 24.
728x90

 파이썬 변수명 규칙: snake_case, CamelCase


포스트 난이도: HOO_Intern

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


# 파이썬 변수명 작성 규칙

 

변수명이란 Variable name에 해당하며, 특정한 값을 지정하여 사용이 가능하다. 파이썬에서는 변수명을 작성할 때 지켜야 할 규칙이 있다. 다른 프로그래밍 언어에서처럼 Function 또는 Identifier 역할을 하는 키워드를 변수명으로 지정할 수 없다는 건 동일하다. 예를 들어서 break와 같이 파이썬에서 특정 기능을 수행할 경우 변수명으로 사용이 불가능하다.

break = 536

File "<ipython-input-1-3c2b92ccb527>", line 1
    break = 536
          ^
SyntaxError: invalid syntax

 

만약에 break를 변수명으로 사용을 하고 싶다면, break1, break_i, RBreak 등과 같이 break를 변수명 안에 포함되어 있지만 숫자나 알파벳과 같이 포함하여 작성해줘야 한다.

break1 = "HOOAI"
print(break1)

break_1 = "HOOAI"
print(break_1)

RBreak = "HOOAI"
print(RBreak)

HOOAI
HOOAI
HOOAI

 

하지만 변수명을 작성할때 숫자를 앞에 사용해서도 안된다.

1break = "HOOAI"
print(1break)

  File "<ipython-input-5-85f7dc5df14b>", line 1
    1break = "HOOAI"
         ^
SyntaxError: invalid syntax

# snake_case

 

프로그래머나 개발자는 혼자서 프로젝트를 수행하기보다는 다른 개발자 및 프로그래머들과 같이 협업해서 프로젝트를 수행하게 된다. 따라서 코드를 작성하는 데 있어서 다른 개발자가 이해하기 수월하도록 작성해주는 것이 중요하다. 한마디로 코드 작성에 있어서 가독성이 좋아야 한다는 것이며, 이것이 개발자의 기본적인 능력을 평가하는 요소 해당될 정도로 중요하다.

 

변수명을 작성할때 위에서 언급한 내용만 유의하면 사실상 변수명 때문에 발생하는 에러는 없다. 하지만 코드를 그저 실행하는 것이 중요한 게 아니라 Messy 한 코드를 작성하지 않는 것도 중요하다. 마치 요리를 한다고 해서 다 같은 요리가 아닌 듯이 코딩도 어떻게 코드를 작성하는지가 정말 중요하다. 그것에 가장 기본이 되는 요소 중 하나가 바로 변수명 작성법이다.

 

snake_case는 _를 사용해서 변수명의 가독성을 높여주는 역할을 수행한다. 우리는 변수명을 작성할 때 매번 i, z, o 등과 같이 단순한 알파벳이나 의미 없는 변수명으로만 작성해서는 안된다. 중요한 값을 가지고 있는 변수 명의 경우에는 의미 있는 변수명 설정이 필요하다.

introducehooai = "Hi I'm HOOAI."
print(introducehooai)

Hi I'm HOOAI.

 

예를 들어서 위의 introducehooai라는 변수명을 보며, 다른 개발자가 보았을때 한 번에 이해하기 어려운 변수명이다. 코드 자체가 복잡해지고 많은 변수명이 이런 식으로 작성된다면 당연히 다른 개발자가 코드를 이해하는데 시간이 오래 걸릴 수밖에 없다. 이런 경우에서 우리는 snake_case를 사용할 수 있다.

introduce_hoo_ai = "Hi I'm HOOAI."
print(introduce_hoo_ai)

snake_case를 사용하여 space 대신해 _를 사용한다면 변수명에 대한 이해도를 높일 수 있다. snake_case를 꼭 써야 한다는 규정은 없지만 전세계적으로 개발자들 사이에서 snake_case 작성법이 어떤 것인지 이해하고 있다. 


# CamelCase

 

snake_case보다도 많이 사용되고 오랫동안 사용되고 있는 변수명 작성법이 CamelCase이다. CamelCase는 낙타 등을 생각해보면 이해하기 수월하다. 마치 낙타 등이 볼록 올라온 것처럼 변수명에 이를 적용하여 가독성을 높인다.

IntroduceHOOAI = "Hi I'm HOOAI."
print(IntroduceHOOAI)

Hi I'm HOOAI.

 

위의 예제를 살펴보면 IntroduceHOOAI와 같이 소문자 사이에 대문자가 포함되어 있는 걸 볼 수 있다. 단어가 합쳐지는 알파벳에 대문자를 입력하면서 가독성을 높여주는 역할을 수행한다. Introduce + HOOAI가 합쳐진 변수명이라는 것을 다른 개발자들이 해당 변수명을 보고 쉽게 이해할 수 있다.

 

CamelCase를 사용할때 첫 번째 알파벳도 대문자로 표기하기도 하지만 소문자로 표기해도 사실상 문제가 없다. CamelCase의 역할은 합쳐져서 이해하기 어려운 변수명의 가독성을 높이는 것이 주요 목적이기 때문에 introduceHOOAI라고 작성하더라도 충분히 다른 개발자가 변수명을 이해하기 수월하다.

 

정말 작은 차이이지만 개발자들에게 있어서는 이러한 작은 차이가 중요하다. 또한 프로그래밍을 처음 배우기 시작한다면 귀찮더라도 깔끔하게 코딩을 작성하는 방법에 대해서 습관을 들여놓는 것이 필요하다.


 

728x90

댓글