본문 바로가기

Programming/Python

변수와 자료형

파이썬의 변수와 자료형에 대해서 알아보도록 하겠습니다.



변수


잠깐 C언어를 이야기 하자면 C언어 에서는 변수를 선언하고 값을 초기화 하는데,   자료형 변수명 = 값; 과 같은 형태를 사용했습니다.

파이썬에서는 어떻게 사용 할까요? 파이썬에서는 자료형을 따지긴 하지만 C언어처럼 먼저 선언을 할 필요가 없습니다.





위 사진을 보면 변수 name을 선언했지만 자료형은 적어주지 않았습니다. int name 처럼 사용하지 않았다는 것이죠. 파이썬은 초기화 되는 값에 따라서 알아서 형태가 정해진다는 것입니다.

해당 변수의 타입을 알고 싶다면 type(변수명)을 이용하면 알 수 있습니다.





자료형


파이썬의 자료형은 다음과 같습니다.


Strings, Numbers, Dictionary, Tuple, Lists, Boolean 이 있습니다.


차근차근 하나씩 알아보도록 할께요.






String



엄청 중요한 것은 아니지만 간혹 실수 할 수 있는 부분이라 생각이 듭니다.

이스케이프 문자 \n이 name으로 출력할 경우 그냥 나타나고 print를 이용하여 출력하는 경우 개행 역할을 합니다.

간혹 name으로 출력하는데 왜 안되고 나타나는지 혼동 하시면 안됩니다.!!


물론, print를 이용해서도 \n을 나타 낼 수 있습니다. 바로 '' 앞에 r를 붙이는 것이죠.  name = r'내용' 이와 같은 방식으로 나타낼 수 있습니다.


한가지 더 말하자면 많은 내용의 글을 String으로 저장하고 싶다면 어떻게 할까요??


바로 """ 삼중 따옴표를 사용합니다. 











List


C언어에서 List는 배열을 말합니다. 물론 Python에서도 배열이라고 부를 수 있지만 C언어와는 다른 부분이 있기 때문에 '리스트'라고 부르도록 하죠.

C언어에서 배열을 사용하는 경우 자료형을 적어주고 해당 자료형에 맞는 값만 초기화 할 수 있었습니다.

하지만 Python은 어떤 값을 넣어도 상관 없습니다.




arr이라는 변수명에 1과 2 그리고 문자 a와 실수형 1.0이 들어가 있습니다. 어떤 타입라도 들어갈 수 있다는 것을 알 수 있습니다.


리스트는 스트링(문자열) 형태와 같이 사용됩니다.



arr를 스트링형태로 저장했습니다. 그리고 arr을 이용하여 인덱스 값을 주어 출력하도록 했는데 각 자리에 맞는 값이 출력되는 것을 알 수 있습니다.


여기서 유용한 점이 있습니다. C언어에서는 0번 부터 2번까지의 값을 가져 올려면 반복문을 통해서 값을 가져와야 합니다. 하지만 Python에서는 그렇지 않습니다.



인덱스값을 범위를 주게되면 그 사이의 값을 가져오게 됩니다. 위 사진을 보면 [A:B]일 경우 A부터 B-1까지 라는 것을 알 수 있습니다.



또한 리스트에서 -1과 같은 음수로 리스트 내용을 역으로 출력할 수 있습니다.

(이 부분은 추후 수정해서 올려드리겠습니다.)





Tuple


튜플은 리스트와 매우 비슷하지만 다른 결정적인 것이 있습니다. 바로 중간에 값을 바꾸지 못한다는 점입니다. 또 리스트에서는 []를 사용하지만 튜플은 ()를 사용합니다.


단순히 값이 변경되지 않는 것을 위해서 튜플을 사용하는 것 일까요?? 물론 코딩 중간에 실수에 의해 값이 변경되는 현상은 매우 좋지 않습니다. 하지만 이 이유 하나로만 사용하는 것 일까요??




4번째 줄을 보시면 blogname, today, total = blog로 되있는 것을 알 수 있습니다. C와 혼동을 할 수 도 있는 것이, blogname에도 blog가 들어가고 today에도 blog가 들어가고 total에도 blog가 들어갈 것이라 생각 할 수 있는데, 파이썬이라는 것!! 명심하세요.


튜플에 저장된 값이 차례로 이름이 만들어 졌다고 생각하면 됩니다.  C++의 참조자와 비슷하군요^^












Dictionary

딕셔너리는 말 그대로 사전을 나타냅니다. 한영사전에서 '버스: bus' 로 쓰여져 있는 걸 아실겁니다.

이처럼 Python에서도 사용됩니다.


 


name을 k3y6reak라고 정의를 해서 저장해뒀습니다. 여기서 name을 key라고 하며 k3y6reak를 value라고 합니다.


만약 많은 양의 데이터를 저장하고 있는 경우 어떤 키 값이 있는지 눈으로 찾으려면 정말 많은 시간이 필요하게 되겠죠?

Python에서는 myinfo.has_key(키값)를 이용하여 키를 쉽게 찾을 수 있습니다.




myinfo라는 딕셔너리에 값을 저장했었습니다. 키 값이 어떤 것이 있는지 확인하려면 keys()를 이용하고, 해당 키가 있는지 확인하기 위해서는 has_key()를 이용합니다.

여기서 주의할 점은 name이나 'name'이냐에 따라 달라집니다.


사전에 추가하거나 제거하는 방법은 다음과 같습니다.




추가하는 경우에는 myinfo[키값] = 밸류값 을 이용하여 추가하고, 제거하는 경우는 del myinfo[키값]을 이용하여 제거합니다.

전체를 제거하는 경우는 clear()를 이용하면 전부 제거가 됩니다.



'Programming > Python' 카테고리의 다른 글

함수  (0) 2016.03.14
조건문, 반복문  (0) 2016.03.14
연산자  (0) 2016.02.21
코딩과 실행 방법  (0) 2015.03.13
Python 설치하기  (0) 2015.03.12