python 자료형
변수
- 프로그래밍 언어에서의 변수 : 값이 저장된 메모리의 위치에 주어진 이름
- 부동소수 : 실수를 컴퓨터 상에서 표현할 때 근사하는 방식의 하나
숫자형
- 숫자형이란 숫자 형태로 이루어진 자료형
- 123과 같은 정수, 12.34와 같은 실수, 8진수나 16진수, 그리고 복소수도 있다
정수형
실수형
- 정수와 정수를 연산해도 파이썬에서 기본적으로 출력하는 타입은 실수(float)
문자형
문자열 인덱싱과 슬라이싱
기본적으로 문자열은 데이터를 변경할 수 없기 때문에 슬라이싱을 많이 이용한다.
- 인덱싱 : 한글자씩 꺼내기
- 슬라이싱 : 여러글자 꺼내기
- 문자열[0] : 0 번째부터
- 문자열[-1] : -1 부터
문자열 함수
- len(문자열) : 길이를 반환
- 문자열.startswith(문자열2) : 문자열이 문자열2로 시작하는지 판단
- 문자열.endswith(문자열2) : 문자열이 문자열2로 끝나는지 판단
- 문자열.find(문자열2) : 문자열 안에 문자열2가 있는지 판단하고 없을 경우 -1, 있을 경우 위치를 반환
- 문자열.count(문자열2) : 문자열 안에 문자열2가 몇 번 등장하는지 반환
- 문자열.strip(): 양 옆에 있는 공백
문자열 포메팅
- 방법 1 : "현재 시간은 {}시 입니다".format(7)
- 방법 2 : "현재 시간은 %d시 입니다."%7
"지금은 {time}시 {minute}분 입니다.".format(time = 7, minute = 30)
순서형
- 값들이 연속적으로 저장된 형태를 뜻한다
- 리스트와 튜플 (문자열도 순서형)
- 리스트, 튜플 ,셋을 서로 변환 가능
리스트
- 리스트 = [요소1,요소2...]
- 리스트도 인덱싱, 슬라이싱 가능
- 요소 추가 : 리스트.append(값)
- 정렬 : 리스트.sort()
- 뒤집기 : 리스트.reverse()
- 위치 반환 : 리스트.index(값)
- 삭제 : del 리스트[위치]
- 문자열로 변환 : print('.'.join(['a','b','c','d']))
다중리스트
- a = [1,2,3,[1,2,3]
- 다중 리스트에서도 슬라이싱 인덱싱 가능
튜플
- 튜플 = (요소1, 요소2, 요소3,,,,)
- 튜플은 리스트와 거의 비슷하지만 [대신 (를 쓴다.
- 1개의 요소만 가지면 반드시 ,를 붙여야한다.
- 튜플과 리스트의 가장 큰 차이는 튜플은 값을 변경할 수 없다는 것이다.
set
- set = {요소1,요소2...}
- a = set(요소1, 요소2,,,)
- 데이터를 순서와 상관없이 중복도 허가하지 않고 모아놓은 자료형
- 순서형은 아님
- 순서가 없기 때문에 인덱싱과 슬라이싱 불가능
- 값 추가 : 셋.add(값)
- 전체 제거 : 셋.clear()
- 합집합 : 셋1.union(셋2)
- 교집합 : 셋1.intersection(셋2)
- 차집합 : 셋1.difference(셋2)
매핑형
딕셔너리
- key:value의 형태로 주어진 데이터들의 집합을 딕셔너리라고 한다.
- key에는 변하지 않는 값을 사용하고 value에 있는 값은 변경 가능하다.
- key의 순서는 없으며 key는 중복될 수 없다.
- key의 자료형에는 제한이 없지만 일반적으로 문자열을 쓴다.
- key에 대응되는 value를 가져오고 싶으면 dictionary[key]를 입력
- 길이 반환 : len(딕셔너리)
- 데이터 삭제 : del 딕셔너리[key]
- 키 값 모두 반환 : 딕셔너리.keys()
- 벨류 값 모두 반환 : 딕셔너리.values()
자료형의 복사
a = [1,2,3,4]
b = a
b[3] = 1
print(a)
print(b)
a = [1,2,3,4]
b = a.copy()
b[3] = 1
print(a)
print(b)
자료형 실습
pin = "881120-1068234"
birth = pin[:6]
num = pin[7:]
print('생년원일: ', birth)
print('주민번호 뒷자리', num)
print("이름은 철수 나이는 "+ str(14)+"살")
print('철수\'s house')
string = "우리 둘이 있을 때는 두려움이 없었다 친구"
print(string[:2])
print(string[-2:])
a = "a:b:c:d"
print(a.replace(":","#"))
b1 = "사과, 복숭아, 배, 딸기"
b2 = b1.split(', ')
print(b2)
print(','.join('abcd'))
print('.'.join(['a','b','c','d']))
d1 = {'이름':'하니', '나이':23, '취미':'코 후비기'}
print(d1.keys())
print(d1.values())
print(d1.items())