본문 바로가기

Python

입문자 위한 Python 기본 안내서 [1] : 자료형에 대해

반응형

머신러닝 공부를 하기전 입문자를 위한 Python 기본 안내서 입니다.  무작정 따라하면서 기본을 알아보는 시간입니다.

무작정 따라합니다!

 


 1. Python 자료형


1-1 숫자형:

숫자형 데이터는 정수형(int)과 실수형(float)으로 구분됩니다. 정수형은 자연수와 정수, 소수점이 있는 숫자는 실수형이죠.

 

var1 = 10

type(var1)

→ int

*)자료형을 확인할 때는 type을 사용합니다.

 

var2 = 3.14

type(var2)

→ float

 

var3 = 1+3

var4 = 3+1.3

type(var3)

type(var4)

→ int

→ float

*)정수형과 실수형을 더하면 실수형으로 변합니다.


1-2 문자형:

큰 따움표(" ") 또는 작은 따옴표(' ') 안에 알파벳, 한글, 숫자, 공백(띄어쓰기), 기호 등을 입력하면 문자열 데이터로 인식합니다.

 

str1 = 'Python'

type(str1)

→ str

 

인덱스(Index)는 어떤 배열 안에 원소가 위치하고 있는 순서를 나타냈니다. 첫번째 원소의 위치를 인덱스 0으로 하고, 두 번째 인덱스는 1이 됩니다.

 

 

print(str1[0])

→ P

print(str1[3])

→ h

print(str1[-1])

→ n

print(str1[-4])

→ t

 

슬라이싱(slicing)기법에 대해서 알아보겠습니다. 여러개의 원소를 추출하는 방법으로 [시작 인덱스: 끝 인덱스] 형식으로 추출하려는 범위를 입력하면 됩니다. 

 

print(str1[0:3])

→ Pyt

print(str1[-3:-1])

→ ho

print(str1[-3:])

→ hon

print(str1[:5])

→ Pytho

 

문자열 안의 특정 위치에 원하는 문자열을 끼워 넣는 방법입니다. %s를 이용하면 됩니다. 아래의 예제를 보면 바로 이해를 할 수 있습니다.

 

str1 = 'Python'

str2 = "%s 파이썬 머신러닝" %str1

print(str2)

→ Python 파이썬 머신러닝


1-3 리스트:

리스트(list)는 여러 개의 데이터를 하나의 모음(집합)으로 다루고 싶을 때 사용하는 대표적인 자료협입니다.

 

list1 = [1,2,3,4,5]

print(list)

→ [1,2,3,4,5]

 

type(list1)

list

 

list2 = [10]

list3 = list()

[]

→list()를 선언하면 원소가 없소가 없는 빈 리스트를 생성합니다.

 

list4 = []

→ list3과 같이 빈 리스트를 생성하는 방식입니다.

 

list_of_list = [list1, list2, list3]

print(list_of_list)

[[1, 2, 3, 4, 5], [10], []]

→ 모든 종류의 파이썬 객체는 리스트의 원소가 될 수 있습니다. 따라서 리스트도 다른 리스트의 원소가 될 수 있습니다. 

 

이제부터 list의 슬라이싱을 해보겠습니다. 하기 결과값을 기준으로 하나씩 진행하며 indexing과 slicing에 대해 알아보겠습니다.

위의 내용을 기준으로 보면

print(list_of_list[0])

 [1, 2, 3, 4, 5]


print(list_of_list[0][1])

 2


print(list_of_list[-1])

 []


print(list_of_list[-3])

 [1, 2, 3, 4, 5]


print(list_of_list[0:2])

 [[1, 2, 3, 4, 5], [10]]

 

이번에는 list에 자료를 추가하는 방법에 대해 알아보겠습니다. list에 append함수를 사용하면 된답니다.

 

list3 = list()
list3.append(100)

 [100]


print(list3)
list3.append(10)

 [100, 10]


print(list3)
list3.append(1)

 [100, 10, 1]


print(list3)
list3.append(0)

 [100, 10, 1, 0]

 


1-4 투플(Tuple):

튜플은 리스트(list) 자료구조와 형태가 비슷합니다.  여러 원소를 순서대로 저장할 수 있고 각 원소를 쉼표(,)로 구분하게 됩니다.  다만 리스트는 [ ]로 구분이 되며, 튜플은 ( )으로 구분을 할 수 있습니다. 또 한가지 중요한 것은 리스트는 append로 자료를 추가하고 수정할 수 있지만, 튜플은 한 번 선언이 되면 프로그램 중 정보를 수정하거나 추가할 수 없어 프로그램에서 자료가 변하면 안되는 정보 처리를 위해 사용을 합니다.

 

그 외 slicing이나 indexing 방법론은 list와 동일하니 참고 바랍니다.

 

tuple1 = ()


tuple2 = (1,2,3,4,5)
print(tuple2[0])

1


print(tuple2[1])

2

 


1-5 딕셔너리(Dictionary):

딕셔너리는 "키(Key) : 값(value)"형태로 이루어진 자료형입니다. 중괄호 { } 안에 원소 (key : value)를 쉽표로 구분하여 입력이 됩니다. 

 

dict1 = {'name':'LJW', 'age':45}
type(dict1)

print(dict1['name'])

 LJW
print(dict1['age'])

 45

dict1['grade'] = [3.0, 4.0, 3.5, 4.2]
print(dict1.keys())

 dict_keys(['name', 'age', 'grade'])

 

print(dict1.values())

 dict_values(['LJW', 45, [3.0, 4.0, 3.5, 4.2]])

 

print(dict1.items())

 dict_items([('name', 'LJW'), ('age', 45), ('grade', [3.0, 4.0, 3.5, 4.2])])

반응형