[Python] Part.1 Python의 자료형
Ch01-01.숫자형
숫자형 : 숫자 형태로 이루어진 자료형
정수형 - int
ex) a = 1, a = - 2, a = 0
실수형 - float
ex) A = 1.2, a = - 2.3, a = 3.14e10, a = 3.17E-10
복소수 - complex
논리형 - bool True/False라는 논리 값을 가진다.
사칙연산 | |
더하기 | + |
빼기 | - |
곱하기 | * |
나누기 | / |
나눗셈 몫 | // |
나머지 | % |
제곱 | ** |
사칙 연산자 | 나머지 연산자 | 몫 연산자 | 제곱 연산자 |
+ - * / | % | // | ** |
변수란? 값이 저장된 메모리의 위치에 주어진 이름.
Ch01-02.문자형
문자열(String)이란?
문자, 숫자 등으로 구성된 문자들의 집합이다.
" 또는 '로 둘러 싸서 만든다.
ex) A = ' Hello, world ', B = " Hello, word "
₩문자 → escape 문자
- ₩\ : ₩ 문자
- ₩' : 따옴표
- ₩n : 줄 변경
- ₩t : 탭
여러 줄에 걸친 문자열은 쌍따옴표 세개 또는 따옴표 세개 안에 기재한다.
A = ''' Hello, world ''' |
B = """ Hello, world """ |
두 문자열을 더하면 'Hello' + 'World' → HelloWorld
숫자와 곱하면 문자열을 반복 'Hello' * 3 → HelloHelloHello
문자열 인덱싱과 슬라이싱
A = ' Life is short, you need python '
인덱싱이란? 문장에서 문자의 위치를 나타냄
문자열변수[ index ] : 문자열에서 특정한 값을 출력
index : 표시하려는 위치 번호
A[0]을 입력하면 L이라는 결과가 나온다.
뒤에서 부터 세고 싶다면 A[ -1 ], A[ -2 ] 등을 입력해보면 된다.
슬라이싱이란? 문장에서 연속된 문자를 뽑을 때 사용하는 기법
문자열변수[ 시작번호(index) : 끝번호+1(index) ]
index : 문자열 인덱싱 번호
A[ 0 : 4 ]를 입력하면 A 문자열에서 0번째 자리 부터 4번째 자리 이전까지 문자를 뽑아낸다.
A[ 0 : 4 ] → Life ([0][1][2][3])
A[ 5 : ] : 5번쨰 자리부터 끝까지의 문자열
A[ : 5 ] : 5번째 자리 전까지의 문자열
A[ 2 : -2 ] : 2번째 자리부터 뒤에서 2번째자리 전까지의 문자열

주요 문자열 함수
len(문자열) : 길이를 반환
문자열.startswith(문자열2): 문자열이 문자열2로 시작하는지 판단
문자열.endswith(문자열2): 문자열이 문자열2로 끝나는지 판단
문자열.find(문자열2): 문자열 안에 문자열2가 있는지 판단하고 없을 경우 -1을 있을 경우 위치를 반환
문자열.count(문자열2): 문자열 안에 문자열2가 몇번 등장하는지 반환
문자열.strip(): 양 옆에 있는 공백 제거
문자열.find(문자열2): 문자열 안에 문자열2가 있는지 판단하고 없을 경우 -1을 있을 경우 위치를 반환
문자열 포매팅(String Formatting) : 특정한 값을 유동적으로 만들고 싶다면 문자열 포매팅을 이용
포매팅 방법 1) “현재 시간은 {}시 입니다.”.format(7)
포매팅 방법 2) “현재 시간은 %d시 입니다.” % 7
2번째 방법의 경우엔 % 뒤에 입력할 값의 형태를 지정해줘야 한다.
%d : 정수 %s : 문자열 %f : 실수 %o : 8진수 %x : 16진수
형 변환
정수 : int()
실수 : float()
문자열 : str()
Ch01-03.순서형
순서형이란?
순서형(sequential type)이란 값들이 연속적으로 저장된 형태를 뜻한다.
즉, 문자열도 순서형이다. 그 외에 대표적인 순서형으로 리스트와, 튜플이 있다.
순서형 type의 공통된 연산으로
인덱싱 : A[3]
슬라이싱 : A[3:6]
연결하기: + 연산자
반복하기: * 연산자
멤버 검사: in 연산자
길이 반환: len()
리스트 (*리스트도 인덱싱 슬라이싱 가능 )
리스트 = [요소1, 요소2, 요소3, …]
ex) A= [1,2,3]
A=[‘sd’,’as’,’fg’]
A=[1,2,’ff’]
A=list()
A=[]
다중 리스트 (*다중 리스트에서도 슬라이싱 인덱싱 가능!)
ex) A= [1,2,3,[1,2,3]]
A[3][2] = ?
리스트 관련 함수들
요소 추가 : 리스트.append( 값 )
정렬 : 리스트.sort() (sorted(리스트) 는 다르다! )
뒤집기 : 리스트.reverse()
위치 반환 : 리스트.index( 값 )
삭제 : del 리스트 [위치 ]
기타: insert, remove, pop, extend
튜플
리스트 = (요소1, 요소2, 요소3, …)
ex) A= (1,2,3)
A=(‘sd’,’as’,’fg’)
A=(1,2,’ff’)
A=tuple()
A=()
A=(1,)
A= 1,2,3
• 튜플은 리스트와 거의 비슷하지만 [ 대신 (를 쓴다. 또한, 1개의 요소만 가지면 반드시 ,를 붙여야하고 괄호를 생략해도 된다.
• 튜플과 리스트의 가장 큰 차이는 튜플은 값을 변경할 수 없다는 것이다.
Set이란?
데이터를 순서와 상관없이 중복도 허가하지 않고 모아놓은 자료형이다
정확히는 순서형은 아니지만 튜플, 리스트와 유사성이 많다. (* 순서가 없기 때문에 인덱싱과 슬라이싱 불가능!)
ex) A= {1,2,3}
A=set([‘sd’,’as’,’fg’])
A=set(‘hello,world’)
A=set()
set 주요 연산으로
값 추가 : 셋.add(값)
전체 제거 : 셋.clear()
합집합 : 셋1.union(셋2)
교집합 : 셋1.intersection(셋2)
차집합 : 셋1.difference(셋2)
형 변환
set() : set으로 변환
list() : 리스트로 변환
tuple() : 튜플로 변환
Ch01-04.매핑형
딕셔너리(dictionary)란?
Key : value의 형태로 주어진 데이터들의 집합을 딕셔너리라고 한다.
{key1:value1, key2:value2, key3:value3, …}
Key에는 변하지 않는 값을 사용하고 value에 있는 값은 변경 가능하다.
- key의 순서는 없으며 key는 중복될 수 없다.
- Key의 자료형에는 제한이 없지만 일반적으로 문자열을 쓴다.
- Key에 대응되는 value를 가져오고 싶으면 dictionary[key]를 입력.
Dictionary 만들기
dict1 = {} 또는 dict1 = dict()
dict1[5] = 3
dict1[3] = 2
→ dict= {5:3, 3:2}
주요 함수들
길이 반환: len(딕셔너리)
데이터 삭제 : del 딕셔너리[key]
키 값 모두 반환 : 딕셔너리.keys()
밸류 값 모두 반환 : 딕셔너리.values()
기타: clear, copy, get(key), update, popitem 등
키 값이 될 수 없는 것? List와 같이 값이 변할 수 있는 것은 키가 될 수 없다.
Ch01-05.심화학습-자료형의 복사
자료형의 복사?
a = 3
b = a
라는 방식으로 데이터를 정의했을 때 a가 무슨 형태인가에 따라 b에 저장되는 값이 달라진다.
Ch01-06.자료형 실습