본문 바로가기

Python/Python 초등 교육

6. Python 기본 자료형 과 list , set , tuple , dict

반응형

이제 본격적으로 파이썬에 공부해 보아요.

 

제목에서의 자료형이 뭘까요? 자료형이랑 데이터의 형태를 말하는겁니다. 

말이 어렵죠? 하지만 실제 어떤것인지 보면서 애기를 들으면 더 쉽워요. 

아래의 코드를 보아요. 

 

앞에서 만들었던 practice1.py 파일에 아래와 같이 입력해 보세요.

# 표시는 파이썬에서는 주석 처리 입니다.
# 주석이란? 코드상에서 실행되지 않지만 코드를 이해하기 쉽게 설명을 달아 놓을때 사용합니다.

# int 형
i = 1
print(type(i))

#실수형
f = 1.1
print(type(f))

#문자형
s = "문자형"
print(type(s))

#bool형
b = True
print(type(b))

위 코드를 입력하고 

 

vs code의 터미널 상에서 아래와같이 코딩한 practice1.py파일을 실행시켜 보아요.

python .\practice1.py

정상적으로 실행이 되었다면 아래와 같이 각 변수에 대한 타입이 표시 됩니다. 

<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>

 

결과를 말하기 전에 간단하게 입력한 코드에 대한 설명을 해 볼게요.

 

i = 1

이라는 코드는 변수에 값을 할당하는 코드 입니다.

i 라는 이름의 변수 ( 변수하는 수 를 말해요) 는 숫자 1 이라는 뜻이에요. 그냥 숫자을 

print(type(1)) 이라고 해도 되는데 왜 i 라는 변수를 만드는건가요? 라는 생각이 드는 사람이 있을거에요. 

 

변수는 말그대로 변할수 있는 값을 저장하는 하는 공간을 만드는겁니다. 

i = 1 이라고  시작했지만  코딩을 하다가 보면 어떤 이유에서든

i = i + 1

과 같이 현재 i 의 값에 + 1 을 해서  변수 i 의 값을 증가시키고 싶은 경우가 굉장히 많아요. 

이럴때 변수를 사용해서 우리가 원하는 또는 필요한 숫자나 문자를 관리할때 이용합니다.

 

변수는 굉장히 많이 사용할거니까 앞으로 천천히 더 자세히 알아가 보아요. 

 

그럼 다시 자료형으로 돌아가서 보면 

  • int :정수형 , 0을 포함한 모든 자연수 를 표현합니다.
  • float : 실수형 , 간단하게 소수점을 나타내는 숫자 형태라고 이해 합시다.
  • str : 문자형 , 말그대로 모든 문자를 나타냅니다. 코드에서 보다시피  "......"  로 표현합니다.
  • bool : 논리형,  참 , 거짓 의 두가지 값만 존재 합니다.  True , False 의 값만 존재해요. 

좀 더 복잡한 기본 자료형이 있지만 요정도 자료형이 있다는것을 알고 넘어가요. 

이제 자료형을 배웠으니 

요기서 문제를 내볼게요.  변수의 용도를 익힐겸 파이썬 코딩에 익숙해 질겸  문제를 내 볼게요. 

문제 1) 1 부터 10 까지 숫자를 순서대로 더해서 실행 결과에 아래와 같이 결과 화면에 나올수 있게 해보아요.

i = 1
i = 3
i = 6
..
..
..
..
..
..

답은 이글의 제일 마지막에 있습니다. 

 

이제 조금 형태가 다른 자료형에 대해 알아 보아요. 

자료형에  list , set , tuple , dict 에 알아 보아요 . 지금 알아 보는 8가지 자료형은 정말 엄청 많이 쓰이는것이니까 꼭! 기억합시다.

#list , 배열형
l = [1,3,4]
print(type(l))

#set , 집합형
st = {1 , 2 ,3}
print(type(st))

#tuple
t = (1, 2 ,(1,2))
print(type(t))
print("t[0] : " ,  t[0]  , "  t[2] : " ,  t[2] )

#dict 
d = {"name":"데브라쿤" , "job" :"프로그래머" , "age" : 99}
print(type(d))
print("name : " , d["name"])
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
<class 'list'>
<class 'set'>
<class 'tuple'>
t[0] :  1   t[2] :  (1, 2)
<class 'dict'>
name :  데브라쿤

정말 간단하게 각 자료형들이 어떤 모양으로 생겼는지 대해 알아 보았어요. 

이런것이 있구나 하고 이해만 하고 넘어 가도 좋아요. 앞으로 굉장히 자주 많이 사용하면서 자연히 익힐수 있습니다.

 

이게 뭐지 이해가 안가요. 라고 하는것이 당연해요. 당황하지 하지 말고 천천히 배워 갑시다.

 

이런 자료형들이 있다는것을 알고 이제 다음으로 함수에 대해 알아 볼거에요. 

여러가지 함수를 만들어 보면서 자료형들에 대해 다시 한번 배워 보아요.

 

 

# 문제1의 정답
i = 1
print(i)
i = i + 2
print(i)
i = i + 3
print(i)
i = i + 4
print(i)
i = i + 5
print(i)
i = i + 6
print(i)
i = i + 7
print(i)
i = i + 8
print(i)
i = i + 9
print(i)
i = i + 10
print(i)

 

# 문제 1의 정답
number_list = [1,2,3,4,5,6,7,8,9,10]
i = 0 

for n in number_list:
    i = i + n
    print(i)

위의 두가지 형태의 문제 1의 답에 해당하는 코드가 있습니다. 

여러분은 첫번째로 당연하게 했을거 같고 , 지금까지 배운봐로 그렇게 하는게 맞아요. 잘했습니다. 

 

두번째 정답 코드는 굉장히 간단해 졌죠? 반복적으로 사용되는 print(i)  부분도 한번만 사용되었어요.

바로 for 문 (반복문) 을 사용하면서 중복되는 코드가 없애고 list 자료형을 사용해서 간단하게 만들었습니다.

 

두번째 정답 코드를 보여준 이유는 이렇게 같은 결과를 내지만 간단하게 효율적인 코드를 만들수 있다는것 말하고 싶었어요. 

 

이제 막 파이썬을 배우기 시작한 여러분은 항상 아래와 같은 코드 될수 있게 고민하고 만들어 가는 좋은 개발자가 되길 바랍니다.