코딩을 처음 배울 때, 처음 난관에 부딪히는 부분이 있습니다. 바로 ‘변수’입니다. 변수를 만드는 방법은 쉽습니다. a=2, b=’60coding’, c=[1,2,3]에서 a,b,c가 변수이름입니다. 변수를 만들 때는 ‘=’ 등호를 사용하면 됩니다. ‘변수이름 = 변수에 저장할 값’, 이것이 바로 변수를 만드는 방법입니다. 이렇게 쉬움에도 변수 때문에 코딩이 꼬이는 경우가 많이 있습니다. 코딩 배울때 대부분 변수부터 어려워하는 건 맞는 것 같아요.
수학에서의 ‘x = 1’과 파이썬이 받아들이는 ‘x = 1’의 사용되는 방식이 조금은 다를 수 있습니다. 수학의 관점에서 보자면 ‘x’는 ‘1’의 값을 갖고 있고 ‘1이 x고 x가 1’인 의미입니다. 하지만 파이썬에서의 x는 메모리의 주소(위치)입니다. 파이썬에서 x=1 이라고 하면, ‘x라는 위치(공간)에 1을 집어 넣어!’ 이런 의미에요. id()라는 함수를 사용해서 실제 저장된 메모리의 위치를 알아낼 수도 있습니다. 아래 코딩을 한 번 살펴볼까요?
파이썬에서 등호는 어떠한 값을 ‘가리키는 것’입니다. 변수를 활용해서 ‘참조’도 가능합니다만, 수학과는 다른 논리가 적용됩니다. 아래 코드를 한 번 살펴보면 어느 정도 이해가 되실 수 있을 거예요.
x = 1
print(x + 1)
#Output : 2
x=1
print(x)
#output : 1
x = x + 1
print(x)
#Output : 2
처음 위 코드에서 x=1이 참조되어, x+1이 2로 출력이 됐네요. 이상하진 않습니다. 하지만 그 다음에 나오는 x = x + 1 코드를 수학으로 받아들이게 되면 x=1을 참조해서 ‘1=1+1’ 이런 엉터리 식이 만들어 질 수 있습니다. 하지만 파이썬의 변수의 의미를 적용하면, ‘변수이름 x라는 공간에 x(x=1을 참조) + 1을 해줘’ 이런 뜻입니다. 당연히 자연스럽게 x = 2가 나올 수 있겠네요. 파이썬에서의 등호(‘=’) 단지 변수의 값을 가리키는 것이라고 봐야 합니다. 수학의 등호와는 성질이 달라요~
변수의 진짜 의미
x = '60coding'
y = 134.4
위 코드(변수)의 진짜 의미를 해석하자면 ‘메모리를 찾아서 이름을 x로 정하고 문자(string) 60coding을 저장해놔’, ‘메모리를 찾아서 이름을 y로 정하고 134.4를 저장해놔’ 이런 뜻입니다.
파이썬 변수 네이밍 규칙
- 언더 바(_)를 제외한 특수문자 사용 불가능
- 숫자로 시작 불가능
- 공백 사용 불가능
- 파이썬 키워드(예약어) 사용 불가능
파이썬에서 변수 이름을 만들 때, 위와 같은 규칙들이 있는데 외울 필요는 없습니다. 코딩을 하다 보면 자연스럽게 습득되는 것들입니다.