지난 포스팅에서는 파이썬에 적응하기 위한 몸풀기를 좀 했습니다.
이번 포스팅에서는 파이썬의 변수에 대하여 알아보겠습니다.
파이썬 변수란 무엇인가?
목차
1. 파이썬 변수에 수를 저장하기
변수란 무엇일까요? 변수(變數, variable)의 한자어 뜻은 변하는 수입니다.
하지만 변하는 수라고 하면 너무 추상적이어서 이해하기가 쉽지 않습니다.
변수는 우리가 파이썬으로 작성할 코드(code)의 일부분입니다.
컴퓨터에 명령을 내리기 위해서는 CPU에게 코드를 보내야 합니다. 그런데 CPU가 알아듣는 코드는 0과1로 되있어서 사람이 일을 하기위해서는 좀더 쉬운 단어가 필요합니다.
예를 들어 숫자 170이 뜻하는 것이 나의 키라면 어떨까요? 숫자 170을 사용해도 되겠지만 myHeight(내 키, 신장) 이라는 이름을 사용한다면 의미가 명확해집니다.
파이썬 인터프리터(IDLE)를 열고 아래와 같이 입력합니다.
>>> myHeight = 170
myHeight 가 바로 파이썬 변수입니다. 이제부터 내 키를 메모리에서 불러와 사용하려면 myHeight 만 입력하면 됩니다.
그런데 다른 사람이 프로그램을 쓰면 데이터도 바뀌어야 겠죠? 변수의 뜻 변하는 수라는 의미답게 바꿀 수 있습니다.
>>> myHeight = 180 >>> myHeight 180
프로그램안에서 변수를 사용해보겠습니다.
>>> print("나의 키는", myHeight, "입니다.") 나의 키는 180 입니다.
print는 따옴표안의 내용을 출력하는 명령어입니다. 쉼표(,)가 있는 것은 한칸씩 띄우고 출력합니다.
180대신에 myHeight 를 넣으니 180이 출력되었습니다. 이렇게 변수가 필요한 곳에 배치만 하면 변수를 사용할 수 있습니다.
변수를 사용한 연산도 할 수 있습니다. myHeight 에 180이 들어있으니 -5를 하면 175가 됩니다.
>>> yourHeight = myHeight -5 >>> yourHeight 175
여기서 주의할 점은 = 는 수학의 같다 표시가 아닙니다. = 는 오른쪽 식의 결과를 왼쪽의 변수에 대입하라는 뜻입니다. = 와 같은 것을 파이썬 연산자(operator)라고 합니다.
2. 파이썬 변수에 문자열을 저장하기
파이썬에 수 뿐만 아니라 문자열도 저장할 수 있습니다. 문자열이란 문자의 열, 즉 문자들을 연속적으로 나열한 것을 말합니다. 지금 보시는 이 텍스트도 문자열입니다.
문자열을 저장할 수 있다면 더 많은 정보를 저장할 수 있겠죠. 예를 들어 우리집 고양이의 이름을 저장해보겠습니다. 우선 변수의 이름을 myCat 이라고 하겠습니다.
>>> myCat = "똘이" >>> myCat '똘이'
이제 myCat 에는 ‘똘이’ 라는 문자열이 저장되었습니다. 그럼 똘이를 불러볼까요?
>>> print(myCat + "야~ 어디있니?") 똘이야~ 어디있니?
‘똘이’ 라고 하지 않아도 myCat 으로 고양이의 이름을 불러올 수 있습니다. 숫자를 저장하는 것 만큼 쉽죠?
중간에 있는 + 는 숫자를 더하는 연산자가 아니라 문자열끼리 더하는 연산자입니다. (문자열1 + 문자열2) 는 (문자열1문자열2) 가 됩니다.
이 모든일이 어떻게 이렇게 쉽게 이루어지는지 궁굼하신 분들도 있을 것 입니다. 이 포스팅은 파이썬에 입문하는 초보자들을 위한 콘텐츠라서 최대한 원리적인 내용은 제외하였습니다.
깊이 있게 들어가면 파이썬이 아니라 컴퓨터구조에 관한 내용이기 때문에 입문 단계에서는 파이썬셸(IDLE)에 익숙해지는 것을 목표로 삼는게 좋습니다. 컴퓨터의 원리는 착실히 코딩을 하다보면 이해될 것 입니다.
향후 파이썬의 원리까지 배울 수 있는 콘텐츠도 제작할 계획입니다.
3. 파이썬 리스트 만들기
이제 파이썬 변수에 수와 문자열을 저장하고 사용할 수 있다는 것을 알게되었습니다. 그런데 조금 더 복잡한 내용을 저장해야 할 때가 있습니다. 예를 들어 내가 좋아하는 과일이 여러개입니다. 이것들을 저장하려면 변수가 여러개 필요하겠죠?
>>> myFruit1 = "사과" >>> myFruit2 = "딸기" >>> myFruit3 = "수박"
이런식으로 저장하는 것도 가능합니다. 그런데 웬지 산만해 보이는군요.
이런 문제를 해결하기 위해 파이썬에는 리스트(List)라는 변수가 있습니다.
아래와 같이 하나의 이름에 내가 좋아하는 과일을 다 넣을 수 있습니다. 보면 따옴표 안에 문자열을 넣고, 쉼표(,)를 사용해서 아이템을 구분합니다.
>>> myFruit = ["사과", "딸기", "수박"] >>> myFruit ['사과', '딸기', '수박']
하나씩 꺼내는 것은 대괄호 [] 안에 숫자를 써넣으면 됩니다. 주의할 점은 1부터 시작이 아니라 0부터 시작하죠. 그러니까 3개가 있다면 0, 1, 2가 됩니다. 이 안에 있는 숫자를 인덱스(색인)라고 합니다. 인덱스는 자료가 어디에 저장에 되어있는지 찾기 위한 키로써 사용할 수 있습니다.
>>> myFruit[0] '사과' >>> myFruit[1] '딸기' >>> myFruit[2] '수박'
변수를 만드는데 실패하면 아래와 같은 메시지를 볼 수 있습니다.
>>> test@ = 1 SyntaxError: invalid syntax >>> 1number = 33 SyntaxError: invalid syntax
사실 한글로도 변수를 만들 수는 있습니다만 권장하지는 않습니다. 하지만 오랜시간 영어로 변수의 이름을 짓는 것이 관례였기 때문에 영어작성을 원칙으로 합니다.
전세계에서 각자의 언어로 변수 이름을 짓는다면 소통이 어려울 것입니다. 그래서 변수에는 세계 공용어인 영어를 사용합니다.
요약
이 포스팅을 통하여 파이썬의 변수에 숫자와 문자열을 저장하고 사용할 수 있게 되었습니다. 여러 자료를 저장하기 위한 리스트(List) 자료형을 만들고 각각의 요소에 접근하는 방법을 배웠습니다.
변수는 파이썬 코드를 이루는 일부분입니다. 어떤 복잡한 파이썬 프로그램에도 변수가 들어있죠.
파이썬 변수는 만들기 쉽고 사용하기 쉽습니다. 여러분 자신의 변수를 만들어 보고 사용해 보세요. 최대한 자신이 생각한 아이디어로 연습을 하는게 좋습니다.
한글로 변수에 이름을 짓지말라고 했는데 연습할 때는 괜찮습니다. 아래와 같이 자유롭게 변수를 만들어 보세요.
>>> 오늘할일 = ["학원가기", "영화보기", "쇼핑하기", "영어공부"] >>> 오늘할일[0] '학원가기' >>> 오늘할일[1] '영화보기'
참고 외부문서
02-8 자료형의 값을 저장하는 공간, 변수 – 점프 투 파이썬 (wikidocs.net)
>> 20년 넘게 파이썬 교재를 만들고 있는 박응용 저자님의 변수 설명입니다.
파이썬 코딩 도장: 6.1 변수 만들기 (dojang.io)
>> 최고의 코딩 수련장인 코딩 도장의 변수 설명입니다.
Python Variables (w3schools.com)
>> w3schools 은 세계적으로 유명한 IT 교육기관입니다.
Python Tutorial for Absolute Beginners #1 – What Are Variables? – YouTube
>> CS Dojo 는 구글의 개발자가 운영하는 유튜브 교육 채널입니다. 600만명이 넘게 이 강의를 봤습니다. (영문)
파이썬 변수와 상수 리터럴 설명 [Variables, Constants and Literals]