데이터타입의 중요성을 오늘 또 한 번 느꼈다....

파이썬에는 내장 된 함수 및 라이브러리가 많아서 편리한 것이 사실이지만,

그 안의 데이터 타입에 따라서 쓸 수 있는 함수들이 다르다.

당연한 이야기이지만

 

문자 / 문자 (문자 나누기 문자)를 출력하라고 하면 오류가 나듯이,

데이터 타입에 안 맞는 함수를 불러내면 오류가 발생한다.

 

이건 상당히 기초적이면서 상당히 중요한 문제이고, 여기서 확실하게 정리를 하고

넘어가야한다.

 

1. 숫자 

- 우리가 흔히 아는 숫자형 데이터 타입에는 int, float 등 다양한 것들이 있는데

기초적인 것이라 생략하겠다.

 

2.텍스트 (string)

- 가장 많이 나오는 string 타입이다. 기본적으로 파이썬에 input(입력을) 요청하면

string type으로 받게 된다. 

slicing은 텍스트를 쪼개는 스킬인데 

a='Good Morning'

print(a[0:4]) = good이 출력된다.

[::-1] 을 사용할 경우 역순으로 추출하게 된다.

 

in 연산자는 프로그래머가 원하는 부분이 문자열 안에 존재하는지를 확인한다.

a='Good Morning'

print('Good' in a) 

True가 출력된다.

 

len은 문자열 길이를 반환하는 함수인데 유용하게 사용 된다.

 

텍스트 - Method

 

startswith() - 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단

True or False 반환

 

endswitch() - 원본 문자열이 매개변수로 입력한 문자열로 끝나는는지를 판단

True or False 반환

 

find() - 문자열이 존재하는 위치를 앞에서부터 찾는다. 존재하지 않으면 -1 반환, 시작은 0부터

 

rfind() - 문자열이 존재하는 위치를 뒤에서부터 찾는다. 존재하지 않으면 -1 반환, 시작은 0부터 

 

count() - 원본 문자열 안에 입력한 매개변수가 몇 번 나오는지 count한다.

 

lstrip() - 원본 문자열 왼쪽 공백을 제거한다.

 

rstrip() -원본 문자열 오른쪽 공백을 제거한다.

 

strip() - 원본 문자열 좌우 공백을 제거한다. '  Strip  '.strip() --> 'Strip'

 

isalpha() - 원본 문자열이 알파벳(영문,한글)으로만 이루어져 있는지를 체크

True or False 반환

 

isnumeric() - 원본 문자열이 수로만 이루어져 있는지를 체크

True or False 반환

 

isalnum() - 원본 문자열이 알파벳과 수로만 이루어져 있는지를 체크

'1234ABC'.isalnum()  ==> True

'1234  ABC'.isalnum()  ==> False (공백 때문) 

 

replace() - 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경 

 

split() - 문자열을 나누어 리스트를 만듭니다. 

ex) a= 'Apple, Orange, Kiwi'   b= a.split(',') print(b)

['Apple', 'Orange', 'Kiwi']

type(b)  ==> <class 'list'>

 

upper() - 원본 문자열을 모두 대문자로 내놓는다.

 

lower() - 원본 문자열을 모두 소문자로 내놓는다.

 

format() - 형식을 갖춘 문자열을 만들 때 사용.

a = 'My name is {0}. I am {1} years old.'.format('Mario',40)

print(a)

'My name is Mario. I am 40 years old.'

 

3. 리스트 (list)

- 배열 느낌이다. 말그대로 a= [1, 2, 3, 4, 5] 정의하면 a는 리스트다.

a[0] = 1 이 출력된다. 여느 index와 마찬가지로 0부터 count 한다는 뜻.

 

리스트 - Method  

 

append() - 리스트 끝에 새 요소를 추가한다.

a=[1,2,3]

a.append[4,5,6]

a >>> [1,2,3,[4,5,6]]

 

extend()

a= [1,2,3]

a.extend([4,5,6])

a >>> [1,2,3,4,5,6]

 

insert()

a = [2, 4, 5]

a.insert(0,1)

a= [1, 2, 4, 5]

 

remove() - 매개변수로 입력한 데이터를 리스트에서 찾아 발견한 첫 번째 요소를 제거한다.

a=['BMW', 'Benz','VOLKSWAGEN','AUDI']

a.remove('BMW')

a >>> ['Benz','VOLKSWAGEN','AUDI']

 

pop() - 리스트 마지막 요소를 뽑아서 리스트에서 제거한다.

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

a.pop()

a = [1, 2, 3, 4]

 

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

a.pop(2)

[1, 2, 4, 5]

 

index() - 리스트 내에서 매개변수로 입력한 데이터와 일치하는 첫 번째 요소의 값을 알려준다.

a = ['apple', 'banana', 'kiwi']

a.index('apple')

>>> 0

 

count() - 매개변수로 입력한 데이터와 일치하는 요소가 몇 개인지 체크

a = [1, 100, 2, 100, 3, 100]

a.count(100)

>>> 3

 

sort() - 리스트 내의 요소를 정렬한다. 

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

a.sort()

a >>> [1, 2, 3, 4, 5]

a.sort(reverse=True)

a >>> [5, 4, 3, 2, 1]

 

reverse() - 리스트 내의 요소를 반대로 뒤집는다.

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

a.reverse()

a >>> [2, 1, 5, 4, 3]

b= ['안', '녕', '하', '세', '요' -> ['요', '세', '하', '녕', '안']

 

4.튜플 (Tuple)

- 리스트와 비슷한데 튜플은 N개의 요소로 된 집합이다.

- 리스트는 데이터 변경 가능하나 튜플은 데이터 변경 불가능이다.

- 리스트는 목록형식 데이터를 다루는 것에 적합하고, 튜플은 위경도 좌표나 RGB색상처럼 작은 규모의 자료구조를구성하기에 적합하다.

 

생성방법 

방법 1 ㅣ a=(1,2,3) ㅣ (1, 2, 3)

방법 2 ㅣ a = 1, 2, 3, 4   ㅣ (1, 2, 3, 4)

 

슬라이싱 동일.

 

연산자 튜플간 결합 가능 + 활용 

 

튜플의 패킹과 언패킹

#패킹

a= 1, 2, 3 

(1,2,3)

#언패킹

a= 1,23

print(a)

one, two, three = a 

print(one)

>>>one  => 1

>>>two => 2

>>>three => 3

 

패킹은 여러 데이터를 튜플로 묶는 것.

언패킹은 튜플의 요소를 여러 개의 변수에 할당하는 것.

 

튜플 Method 

 

index() - 리스트와 동일 

 

count() - 리스트와 동일 

5.딕셔너리 (Dictionary)

- 리스트와 비슷하다. 딕셔너리의 첨자는 키(KEY)는 반드시 유일하다.

- 딕셔너리는 키와 값이 쌍으로 이루어져 있다. 

 

dic={}

dic['파이썬'] = 'python.org'

dic['마이크로소프트'] = 'microsoft.com'

dic['애플'] = 'apple.com'

 

dic

dic.keys()

dic.valuse()

 

실행결과

{'파이썬': 'python.org', '마이크로소프트': 'microsoft.com', '애플': 'apple.com'}
dict_keys(['파이썬', '마이크로소프트', '애플'])
dict_values(['python.org', 'microsoft.com', 'apple.com'])

 

딕셔너리 Method

 

keys() - 위의 실행결과 참고

 

values() - 위의 실행결과 참고

 

items() - 키와 밸류 값을 다 반환한다. 

dict_items([('파이썬', 'python.org'), ('마이크로소프트', 'microsoft.com'), ('애플', 'apple.com')])

 

in 연산자 - 문자열 존재 유무 판별 

print('애플' in dic.keys())

>>> True 

 

pop() - 해당 부분 제거 

dic.pop('애플')

 

clear() - 딕셔너리 안의 내용 전부 clear

dic.clear()

+ Recent posts