2015. 10. 23. 02:02ㆍ왕초보를 위한 빠르게 훑어보는 파이썬
이번장부터 본격적으로 Python 문법에 대해 배워볼건데요.
잠깐 다른 얘기 좀 해볼게요. 입문자에게 도움이 되는 얘기입니다. 한번 읽고 생각해보세요.
프로그래밍 입문자가 아니시면 스킵하셔도 됩니다.
자! 이번에 배울 Python의 첫번째 문법은 "변수" 입니다.
변수가 뭐지?
여러분 개인 물건 보관할 때 어디에 보관하세요? 사물함에 보관하시나요?
사물함에 물건을 보관하고, 찾을 땐 어떻게 하나요?
보관할 때 미리 번호를 기억해 두었다가, 해당 번호에서 물건을 찾으면 됩니다. 그쵸?
프로그래밍을 할 때, 이와 같이 어떤 자료(data)를 특정 위치에 보관하고 싶은 경우가 있습니다. 이때 필요한 문법이 "변수" 입니다.
언제나 그렇듯 처음배우는 개념은 설명만 들어서는 잘 와닿지가 않죠. 예제도 보고, 응용도 해봐야 이해가 됩니다.
변수는 언제/어떻게 사용하는 걸까?
자자, 예제를 보면서 알려드릴게요.
X가 2이고, Y가 3입니다. X+Y를 계산하세요.
아주 쉬운 문제인데요. 프로그래밍으로는 어떻게 해결하는지 알려드릴게요.
먼저 X에 2를 입력해야겠네요. 다시 말하면, X(사물함 번호)라는 변수에 2라는 자료(data)를 저장(보관)하는 거에요.
이렇게 하면 됩니다. 간단하죠?
왼쪽에는 사물함 번호에 해당하는 "변수명"을 입력하고 = 를 입력한 후 변수명에 저장할 자료(data)를 입력하면 됩니다.
그러면 해당 변수명에 입력한 자료를 저장하겠다. 라는 의미가 되는거죠.
변수에 값을 저장하는 문법
변수명 = 자료
자 그렇다면, 정말로 X에 2라는 값이 잘 저장되었는지 확인하는 방법도 알려드려야죠.
그냥 변수명을 입력해도 되고, 앞에서 배운 print 라는 함수를 이용해서 값을 출력해서 확인할 수 도 있어요.
함수??? 함수라는 것은 나~~중에 배울건데요. 지금은 간단하게 아래정도로만 이해해주세요.
함수란? 정해진 특정 기능을 수행하는 것.
따라서 print 함수란? 괄호안에 있는 변수의 자료를 화면에 출력하는 기능을 수행하는 함수.
이것을 응용해서 Y에 3을 저장하는 건 여러분이 할 수 있을 것 같아요. 해보세요~
2와 3이라는 자료를 X와 Y에 저장했고요, 더하는건 그냥 X+Y 를 입력하면 됩니다.
혹시 X+Y의 결과를 새로운 변수에 저장할 순 없냐고요?
궁금하면 물어보기 전에 일단 마음대로, 손이 가는대로, 틀려도 되니깐, 막 해보세요.
본인이 이것저것 해봐야 실력이 금방금방 늡니다.
"변수"문법 끝!!!!!!
끝? 정말 끝이에요?
네, 정말 끝났어요. 너무 쉽고 간단해서 당황하셨나요? 문법중에는 어려운 것도 있고 쉬운 것도 있는데 이건 보통 처음에 배우는 쉬운 문법이에요. 너무 쉬운 것만 했으니, 살짝 난이도를 높혀서 변수와 관련된 내용을 좀 더 배우고 마무리 하려고 합니다.
변수에 저장하는 자료의 종류는 다양하다.
이게 무슨말일까요?
언제나 그렇듯이 일단 예제 나갑니다.
간단한 예제이기 때문에, 어떤 것을 말하고자 하는지 예측해보세요.
=를 기준으로 왼쪽에는 변수명(변수이름)이 와야 한다고 했었죠?
remind 해보겠습니다. 기억하세요~
변수명=자료
그렇다면 number, string, list1, dict2, set3, tuple4 이런 것들은 모두 변수명이겠네요. 여기까진 알겠어요.
오른쪽에는 자료가 와야 한다고 했는데,
5, "python", [1,2,3,4,5], {"key":"value"}, {1,2,3,4,5,1,2,3,4,5}, ("data1", "data2", "data3") 이런 것들이 보이네요.
숫자 5는 앞에서 배워서 그냥 숫자구나..하고 이해가 되는데, 나머지 것들은 뭐죠?
이것들은 모두 각각의 자료형이고요, 각자의 특징들을 가지고 있어요. 물론 이름도 가지고 있죠.
각각 자료형의 이름은 무엇인지, 어떤 특징을 가지고 있는지, python에서 저런 것들이 왜 필요한지 알아보겠습니다.
자료형은 왜 필요할까?
자료형에 대해서 자세히 알아보기에 앞서, 왜 이런 다양한 자료형이 필요한지에 대해 얘기를 좀 해볼까 합니다.
앞에서, 프로그래밍은 (1)실 생활을 반영해서 (2)유용하고 도움이 되는 "무형의 것(프로그램)"을 만드는 과정이라고 했습니다.
실생활을 반영한다는 건 또 무슨 얘기일까요? 실 생활을 반영한다는 의미를 이해하기 위해서 아래 내용을 읽어보세요.
프로그래밍을 배우다 보면, 자주 사용하는 예제로 "도서관 관리 프로그램" 이라는 것이 있습니다.
도서관에는 수많은 책들이 있고, 각 도서는 나름의 정보를 가지고 있습니다.
책의 제목, 저자, 출판사, 보관 위치, 가격, 페이지 수, 목차 등등 아주 많죠.
많은 사람들은 아래의 정보를 궁금해 합니다.
특정 도서의 보관 유무, 가격이 얼마인지? 저자는 누구인지
프로그램이 없다면, 도서관에 직접 방문하여 해당 책이 어디에 있는지 찾아서 정보를 얻을 수 있겠지만,
도서관리 프로그램이 있다면, 휴대폰으로 쉽게 모든 정보를 얻을 수 있겠죠.
도서관리 프로그램은 이처럼 실생활을 반영(도서관에 있는 책들의 정보 조회, 관리 등 실 생활 행위가 프로그램에 반영됨)하고, 우리에게 유익함(손쉽게 원하는 정보를 얻을 수 있음)을 제공하고 있습니다.
아니, 자료형 종류하고 특징 알려준다더니, 지금 뭔 얘기를 하는거에요?
네, 그걸 알려주려고 하고 있는거에요. 프로그램이 실생활을 반영한다는데, 딸랑 "숫자" 자료형만 있다면 어떻게 될까요?
책 제목, 저자 이름, 출판사 이름과 같은 자료를 숫자로 표현할 수 있나요? 이러한 자료는 "문자" 자료형이 있어야 표현이 가능하겠죠. 그래서 "문자"자료형이 python에 있는거에요. 또한, 제가 대출했던 도서들 목록을 보고 싶을 수도 있겠죠? 그러면 여러가지 도서명을 쭉 저장을 해야 하기때문에 "리스트" 자료형이 생긴 것이죠. 이런식으로 각각의 자료형은 제 각기 쓰임새가 다 있습니다. 처음부터 알맞게 사용하긴 어려울 수도 있지만, 몇번 프로그래밍을 해보다 보면, 이럴땐 숫자, 이럴땐 문자, 이럴땐 리스트, 본인이 필요한 자료형을 사용하시게 될거에요.
이외에도, 리스트, 사전, 집합, 튜플 이라는 자료형이 있고, 몇개가 더 있어요.
헐..Python 으로 프로그래밍 하려면 이거 다 외워야 되요?
제가 암기는 절대 하지 말자고 했죠? 그냥 이런게 있구나, 저런게 있구나 정도만 기억해뒀다가 나중에 쓸 일이 있을 때,
Python책에서 자료형 설명하는 페이지를 보거나, Google에서 검색을 하면 다 나와요. 절대 암기하려고 하지 마세요.
자료형 뽀개기
마지막 내용이 되겠네요.
python에는 다양한 자료형이 있고, 각기 필요한 이유가 있다는 것은 이해하셨죠?
그럼 각각의 자료형의 특징, 쓰임새를 간략히 설명하고 "변수" 문법을 마무리 해볼까 합니다.
1) 숫자 자료형
설명 : 말 그대로, 숫자를 나타내는 자료형 입니다. 음수(-5), 양수(3) 다 되고요, 소수점도 표현가능합니다.(0.123)
문법 : 숫자를 있는 그대로 입력. ex) 1, 100, 99, -5, -24, -0.123, 1.123
쓰임새 : 사람의 키, 몸무게, 물건의 갯수, 가격, 높이, 넓이, 돈, 등등 을 표현/연산 하고자 할때 사용합니다.
2) 문자 자료형
설명 : 문자로 표현하고 싶을때 사용하는 자료형입니다.
문법 : "문자" 또는 '문자' 와 같이 쌍따옴표 또는 따옴표 안에 문자를 입력 예) "사람 이름", "책 제목", "도시 이름"
쓰임새 : 물건의 이름, 사람 이름, 도시 이름, 건물 이름, 등등을 표현하고자 할 때 사용합니다.
3) 불리안 자료형
설명 : 참/거짓 으로 구분되는 자료를 표현하고 싶을때 사용합니다.
문법 : True, False 2가지 값만 존재합니다.
쓰임새 : 참/거짓을 구분하고자 할때 사용합니다.
4) 리스트 자료형
설명 : 여러개의 자료를 한번에 저장하고자 할때 사용합니다.
문법 : [자료1, 자료2, 자료3] 과 같이 대괄호 안에 여러개의 자료를 입력하고, 각각의 자료는 콤마로 구분합니다.
이때, 각각의 자료는 숫자형, 문자형, 리스트형, 사전형 등등 모든 자료형이 될 수 있습니다.
예) [ "내 이름", 30, ["야구", "농구", "축구"], {"관심사":"영어공부"} ] <-- 각각의 자료
쓰임새 : 여러개의 자료를 묶어서 관리하고 싶을 때 사용합니다.
5) 집합 자료형
설명 : 여러개의 자료를 저장하는데, 중복되는 자료가 있을경우 하나를 제외하고 나머지는 삭제해버리는 자료형.
문법 : 리스트와 동일한데, 대괄호가 아니라 중괄호를 사용한다는 점만 다르다.
쓰임새 : 여러가지 중복된 자료가 많은 경우에서 종류만 추출하고 싶은 경우.
예) 과일장사 트럭에 있는 과일이 다음과 같이 있을때, 과일 종류만 알고 싶다면 집합 자료형을 사용하면 좋음.
{"사과", "배", "귤", "사과", "귤", "오렌지", "배", "배", "귤", "오렌지"}
결과 : {"사과", "배", "귤", "오렌지"} --> 중복된 사과, 귤, 배, 오렌지가 모두 삭제됨
6) 튜플 자료형
설명 : 여러개의 자료형을 저장하는데, 최초 저장한 이후에 원소의 추가/삭제 불가능.
문법 : 리스트와 동일한데, 대괄호가 아니라 소괄호를 사용한다는 점만 다르다
예) ( "내 이름", 30, ["야구", "농구", "축구"], {"관심사":"영어공부"} ) <-- 각각의 자료
쓰임새 : 여러개의 자료를 묶어서 관리하고 싶을 때 사용합니다.
7) 사전 자료형
설명 : 여러개의 자료를 한번에 저장하는데, 각 자료마다 특징적인 이름을 붙이고 싶을 때 사용합니다.
문법 : { "키1" : 자료1, "키2" : 자료2 } 와 같이 중괄호 안에 "키":자료 가 하나의 원소가 되고, 여러개의 원소는 콤마로 구분합니다. 이때, 키는 문자 자료형을 사용하면 되고, 여러 원소를 구분하는 용도로 사용되기 때문에 겹치는 키가 있으면 안됩니다. 각 키에 해당하는 자료는 모든 자료형을 다 사용할 수 있습니다.
"키" 부분은 사용 가능한 자료형이 있고, 사용할 수 없는 자료형이 있습니다. 이걸 설명하려면 모든 자료형에 대해서 각 특징을 모두 완벽히 이해해야 하는데, 아직은 그럴 단계가 아니기도 하고 Python의 전반적인 내용을 빠르게 훑어보자는 측면의 강좌이기 때문에 일단은 "문자자료형"을 사용하면 된다 정도로 이해하고 넘어가 주시기 바랍니다.
결론만 말씀드리면 "키"에는 숫자형, 문자형, 튜플형 자료형만 사용할 수 있습니다. (나머지는 사용불가)
예) { "내 이름":"홍길동", "나이":30, "취미":["야구", "농구", "축구"], {"관심사":"영어공부"} } <-- 각각의 자료
쓰임새 : 여러개의 자료를 통합 관리하는데, 대표되는 특징을 "키"로 하여 관리하고 싶을때 사용합니다.
각각의 자료형에 대해서 정말 간단히 알아봤습니다.
사실 자료형에 대해서 못다한 얘기가 너무나도 많습니다. 하지만, 핵심적인 부분은 모두 설명되어 있고요,
이정도만 알아도 python 으로 프로그램을 작성하는데 문제 없습니다.
( 복잡하고, 난이도가 높은 프로그램을 작성하려면 자료형에 대해서 좀 더 자세히 알아야 합니다. 입문 강의를 마무리 한 후에, 책을 구입해서 보시거나, 저의 다음 레벨 강좌를 보셔도 됩니다 )
'왕초보를 위한 빠르게 훑어보는 파이썬' 카테고리의 다른 글
6.너와 나의 약속 (Python 함수) (3) | 2015.11.15 |
---|---|
5.수많은 반복작업, 어떻게 해야할까? (Python 반복문) (4) | 2015.11.15 |
4.이럴땐 이렇게, 저럴땐 저렇게 (Python 조건문) (1) | 2015.11.11 |
2.Python 첫 만남 (0) | 2015.10.22 |
1.프로그램이 뭐지? (3) | 2015.10.18 |