프로그래밍 변수란, 변수 이름 짓기, 스네이크 케이스, 파이썬 예약어, 데이터 저장

컴퓨터가 똑똑하게 작동하려면 우리가 건넨 데이터를 어딘가에 기억해 두고 필요할 때마다 꺼내 쓸 수 있어야 합니다. 예를 들어 로그인한 사용자의 '이름'을 기억했다가 화면에 환영 메시지를 띄우거나, 가계부 앱에서 사용자가 입력한 '지출 금액'들을 계속 더해나가는 식입니다. 이때 프로그래밍에서 데이터를 임시로 저장하는 가장 기본적이고 중요한 단위를 '변수(Variable)'라고 합니다.

저 역시 처음 코딩을 배울 때, 수학 시간에 배웠던 방정식 $x + y = 10$ 같은 개념이 떠올라 변수라는 단어가 무척 어렵고 딱딱하게 느껴졌습니다. 하지만 변수는 복잡한 수학 공식이 아니라, 일상생활에서 흔히 쓰는 '포스트잇이 붙은 수납 바구니'라고 생각하면 아주 직관적으로 이해할 수 있습니다. 오늘은 파이썬에서 데이터를 보관하는 방법과 함께, 다른 개발자들과 협업할 때 부끄럽지 않은 올바른 변수 이름 짓기 규칙을 알아보겠습니다.

1. 변수의 핵심 원리: 바구니에 이름표 붙이고 데이터 넣기

파이썬에서 변수를 만드는 행위를 '변수를 선언한다' 또는 '값을 할당(대입)한다'고 표현합니다. 구조는 허무할 정도로 간단합니다.

Python
age = 25
name = "홍길동"

여기서 가장 중요한 주의점이 있습니다. 프로그래밍에서 사용하는 등호(=) 기호는 수학에서의 "양쪽이 같다"는 의미가 절대 아닙니다. 오른쪽에 있는 데이터를 왼쪽에 있는 바구니에 '집어넣어라(대입해라)'라는 의미의 화살표($\leftarrow$) 역할을 합니다.

  • age = 25: 'age(나이)'라는 이름표를 붙인 바구니를 메모리에 만들고, 그 안에 숫자 25를 쏙 집어넣으라는 뜻입니다.

  • name = "홍길동": 'name(이름)'이라는 바구니를 만들고 문자열 "홍길동"을 보관하라는 뜻입니다.

이렇게 한 번 변수를 만들어두면, 다음 줄부터는 복잡한 데이터 대신 변수 이름만 불러서 재사용할 수 있습니다. print(age)라고 치면 컴퓨터가 age 바구니를 열어 그 안에 있는 25를 화면에 시원하게 출력해 줍니다.

2. 에러를 방지하는 파이썬 변수 명명 규칙 (Naming Rules)

파이썬은 개발자가 변수 이름을 비교적 자유롭게 지을 수 있도록 허용하지만, 컴퓨터가 문법을 오해하지 않도록 반드시 지켜야 하는 '강제적인 규칙'이 있습니다. 이를 어기면 프로그램이 실행되지 않고 SyntaxError(문법 오류)가 발생합니다.

  • 숫자로 시작할 수 없습니다: 1st_name = "kim"은 에러입니다. 숫자는 뒤나 중간에 붙여서 name_1st = "kim"처럼 써야 합니다.

  • 공백(스페이스바)을 포함할 수 없습니다: user age = 30처럼 중간을 띄우면 컴퓨터는 이것이 하나의 이름인지 두 개의 이름인지 분간하지 못합니다.

  • 특수기호는 언더바(_)만 허용됩니다: 하이픈(-), 별표(*), 달러($) 등은 수식 연산자로 오인될 수 있어 변수 이름에 쓸 수 없습니다.

  • 대소문자를 엄격하게 구별합니다: appleApple, APPLE은 엑셀에서는 같은 글자로 취급될지 몰라도, 파이썬 세계에서는 완전히 독립된 3개의 서로 다른 바구니입니다.

3. 실무 관례: 센스 있는 개발자의 이름 짓기 (스네이크 케이스)

강제적인 규칙은 아니지만, 전 세계 파이썬 개발자들이 코드를 깔끔하게 읽기 위해 약속한 관례(Convention)가 있습니다. 이 관례를 잘 따르면 "이 사람 코딩 제대로 배웠구나" 하는 인상을 줄 수 있습니다.

스네이크 케이스 (Snake Case) 활용하기

변수 이름에 여러 단어가 합성될 때, 공백을 넣을 수 없으니 단어와 단어 사이를 언더바(_)로 연결하는 방식입니다. 그 모양이 바닥을 기어가는 뱀 같다고 하여 붙여진 이름입니다. 파이썬에서는 이것이 표준 관례입니다.

  • 예시: user_real_age = 25, total_delivery_fee = 3000

의미 있는 이름 지어주기

귀찮다고 변수 이름을 a = 30, b = "서울", c = "010-1234-5678"처럼 알파벳 한 글자로 대충 지으면, 나중에 코드가 길어졌을 때 ab가 무엇을 뜻하는지 자기 자신도 알아보지 못하는 대참사가 일어납니다. 다소 길어지더라도 user_age, user_address, phone_number처럼 역할을 명확히 유추할 수 있는 이름을 지어주어야 합니다.

파이썬 예약어는 피하기

파이썬 시스템이 이미 특수한 명령어 목적으로 선점하여 사용 중인 단어(예약어)들이 있습니다. 대표적으로 if, for, while, print, true 등이 있습니다. 이 단어들은 변수 이름으로 사용하면 기존 명령어 기능이 망가지거나 에러가 나므로 변수명으로 쓰지 않도록 주의해야 합니다.

[핵심 요약 3줄]

  • 파이썬에서 변수 기호(=)는 양변이 같다는 뜻이 아니라, 우측의 데이터를 좌측의 변수(바구니)에 대입하라는 의미다.

  • 변수 이름은 숫자로 시작할 수 없고 공백이나 특수문자(언더바 외)를 포함할 수 없으며, 대소문자를 철저하게 구분한다.

  • 여러 단어가 조합된 변수명을 지을 때는 파이썬의 표준 관례인 '스네이크 케이스(단어 사이에 _ 넣기)'를 사용하여 의미가 직관적으로 통하도록 짓는 것이 좋다.