Chapter 01. 숫자형
숫자 형태로 이루어진 자료형
정수형
정수를 뜻하는 자료형으로, 양의 정수, 음의 정수, 0이 있음
실수형
소수점이 포함된 숫자로, '컴퓨터식 지수 표현 방식'으로 사용하기도 함.
a = 4.24E10 #4.24*10^10
a = 4.23e-10 #4.24*10^-10
8진수와 16진수
- 8진수 : 숫자가 0o 또는 0O으로 (숫자 0 + 알파벳 소문자 o 또는 O) 시작
a = 0o177
print(a) #127
- 16진수 : 숫자가 0x로 시작
b = 0xABC
print(b) #2748
숫자형 활용 연산자
- 사칙연산
- x의 y제급을 나타내는 ** 연산자 : x**y로 사용하면 x의 y제곱 (x^y) 값을 리턴한다.
- % 연산자 : 나눗셈의 나머지 값을 리턴
- // 연산자 : 나눗셈의 몫을 리턴
Chapter 02. 문자열 자료형
문자, 단어 등으로 구성된 문자들의 집합
문자열 사용법
- 큰 따옴표로 양쪽 둘러싸기
- 작은 따옴표로 양쪽 둘러싸기
- 큰 따옴표 3개를 연속으로 써서 양쪽 둘러싸기
- 작은 따옴표 3개를 연속으로 써서 양쪽 둘러싸기
+ 문자열 안에 작은따옴표나 큰따옴표를 포함시키고 싶을 때
- 큰따옴표로 둘러싼 문자열에 작은따옴표 포함하기
- 작은따옴표로 둘러싼 문자열에 큰 따옴표 포함하기
- 역슬래시를 사용해서 작은따옴표(∖')와 큰따옴표(∖")를 문자열에 포함하기
+ 여러 줄인 문자열을 변수에 대입하고 싶을 때
- 줄바꿈을 위한 이스케이프 코드 (∖n) 삽입
- 연속된 작은따옴표 3개 또는 큰따옴표 3개 사용
문자열 연산
- 문자열 더해서 연결
head = "python"
tail = 'is fun!'
head + tail #'Python is fun!'
- 문자열 곱하기
a = "python"
a * 2 #'pythonpython'
- 문자열 길이 구하기 : 공백 문자도 포함하여 문자열의 길이를 구함
a = "Life is too short"
len(a) #17
문자열 인덱싱과 슬라이싱
- 문자열 인덱싱 : '문자열 변수[번호]'의 형태로 문자열 안에 특정한 값을 뽑아내는 역할을 함.
a = "Life is too short, You need Python"
a[0] # 'L'
a[12] # 's'
a[-1] # 'n'
** - 기호는 뒤에서부터 세어 n번째 되는 문자를 말한다.
- 문자열 슬라이싱 : '문자열 변수[시작 번호:끝 번호]'의 형태로 원하는 구간까지의 문자를 뽑아냄
a = "Life is too short, You need Python"
a[0:5] # 'Life '
a[5:7] # 'is'
a[19:] # 'Youn need Python'
a[:17] # 'Life is too short'
a[:] # 'Life is too short, You need Python'
a[19:-7] # 'You need'
문자열 슬라이싱의 특징)
- 끝 번호에 해당하는 문자는 포함하지 않음
- 끝 번호 부분을 생략하면 시작 번호부터 그 문자열의 끝까지 뽑아냄
- 시작 번호 부분을 생략하면 문자열의 처음부터 끝 번호까지 뽑아냄
- 시작 번호와 끝 번호를 모두 생략하면 문자열의 처음부터 끝까지 뽑아냄
- - (빼기) 기호를 사용할 수 있음
문자열 포매팅
- 숫자 바로 대입
- 문자열 바로 대입
- 숫자 값을 나타내는 변수 대입
- 2개 이상의 값 넣기
number = 10
day = "three"
"I ate %d apples. so I was sick for %s days." % (number, day)
#'I ate 10 apples. so I was sick for three days
** %d와 %를 같이 쓸 때는 %%를 사용한다 (ex. Error is %d%%.)
포맷 코드와 숫자 함께 사용)
- 정렬과 공백 : 전체 길이를 n(숫자)로 정해두고 그 공간에서 대입되는 값을 오른쪽(+) 혹은 왼쪽(-)으로 정렬하고 나머지는 공백으로 남겨 두라는 의미 (형태 : %(숫자)s)
- 소수점 표현하기 : 소수점을 표현하고 싶은 자리까지만 나타내고 싶을 때 사용. (형태 : %(문자열 길이).(나타내고자 하는 소수점 길이)f)
format 함수를 사용한 포매팅)
** f 문자열 포매팅은 f로 시작한다는 점을 제외하고 동일하게 작동함
- 숫자 바로 대입
- 문자열 바로 대입
- 숫자 값을 가진 변수로 대입
- 2개 이상의 값 넣기
- 이름으로 넣기
- 인덱스와 이름을 혼용해서 넣기
#2개 이상의 값 넣기
number = 10
day = "three"
"I ate {0} apples. so I was sick for {1} days.".format(number, day)
#이름으로 넣기
"I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)
#인덱스와 이름을 혼용해서 넣기
"I ate {0} apples. so I was sick for {day} days.".format(10, day=3)
- 정렬 : 왼쪽(:<), 오른쪽(:>), 가운데(:^) 정렬 가능
- 공백 채우기 : 공백 문자 대신 채워넣을 문자를 정렬 문자인 <,>,^ 앞에 넣는다
- 소수점 표현 : 0.4f
- { 또는 } 문자 표현 : {}와 같은 중괄호 문자를 사용할 경우, { {} } 처럼 2개를 연속해서 사용
문자열 관련 함수
- count : 문자열 중 특정 문자의 개수를 리턴
- find : 특정 문자가 처음으로 나온 위치를 반환. 만약, 찾는 문자나 문자열이 존재하지 않는다면 -1 반환
- index : 특정 문자가 처음으로 나온 위치를 반환. 만약, 찾는 문자나 문자열이 존재하지 않는다면 오류 발생
- join : 특정 문자열의 각각의 문자 사이에 원하는 문자 삽입 가능 (리스트나 튜플 입력으로도 사용 가능)
- upper : 소문자를 대문자로 바꿈
- lower : 대문자를 소문자로 바꿈
- lstrip : 문자열에서 가장 왼쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지움
- rstrip : 문자열에서 가장 오른쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지움
- strip : 문자열의 양쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지움
- replace : replace(바뀔 문자열, 바꿀 문자열)의 형태로 만자열 안의 특정한 값을 다른 값으로 치환
- split : 괄호 안에 아무 값이 없으면 공백을 기준으로 문자열 나눔 (괄호 안에 특정 값이 있으면 그 기준으로 나눔)
Chapter 03. 리스트 자료형
요소들을 대괄호([])로 감싸주고 각 요소값은 쉼표로 구분한다. 또한 다양한 자료형을 포함할 수 있고, 문자열처럼 인덱싱과 슬라이싱이 가능하다.
리스트 인덱싱
a = [1, 2, 3, ['a', 'b', 'c']]
a[0] #1
a[-1] #['a', 'b', 'c']
a[3] #['a', 'b', 'c']
a[-1][0] #['a', 'b', 'c'][0]
#'a'
** 삼중 리스트에서도 인덱식 가능하지만 복잡흐므로 자주 사용하지는 않음
리스트 슬라이싱
a = [1, 2, 3, 4, 5]
b = a[:2] # [1,2]
c = a[2:] # [3,4,5]
d = a[1:4] # [2,3,4]
** 중첩된 리스트에서도 슬라이싱 가능
리스트의 다양한 활용
- 리스트 더하기 (+)
- 리스트 반복하기 (*)
- 리스트 길이 구하기 : len 함수 사용
- 리스트 값 수정
- 리스트 요소 삭제 : del 함수 사용
리스트 관련 함수
- append : 리스트에 요소 추가
- sort : 리스트 정렬
- reverse : 리스트 역순으로 뒤집기
- index : 인덱스 값 즉, 위칫값을 리턴
- insert : 리스트에 요소 삽입
- remove : 리스트 요소 재거
- pop : 리스트 요소 끄집어 내기
- count : 리스트에 포함된 요소 x의 개수 세기
- extend : 리스트 확장
Chapter 04. 튜플 자료형
- 리스트는 [], 튜플은 ()으로 둘러싼다.
- 리스트는 요솟값의 생성, 삭제, 수정이 가능하지만, 튜플은 요솟값을 바꿀 수 없다.
튜플 요솟값 지우거나 변경
▶ 튜플의 요솟값은 삭제와 변경이 불가능함
튜플 다루기
기본적인 사용 형태는 리스트와 매우 유사
- 인덱싱하기
- 슬라이싱하기
- 튜플 더하기
- 튜플 곱하기
- 튜플 길이 구하기
** 튜플은 요솟값을 변경할 수 없기 때문에 sort, insert, remove, pop과 같은 내장 함수가 없다.
Chapter 05. 딕셔너리 자료형
딕셔너리란?
'사전'이라는 뜻을 가진 딕셔너리는 Key와 Value를 한 쌍으로 가지는 자료형이다. 딕셔너리는 순처적으로 해당 요솟값을 구하지 않고 Key를 통해 Value를 얻는다. 예를 들어 baseball이라는 단어의 뜻을 찾기 위해 사전의 내용을 순차적으로 모두 검색하는 것이 아니라 baseball이라는 단어가 있는 곳만 펼쳐보는 것이다.
dic = {'name': 'pey', 'phone': '010-9999-1234', 'birth': '1118'}
a = {1: 'hi'}
a = {'a': [1, 2, 3]}
딕셔너리 활용
- 딕셔너리 쌍 추가 및 요소 삭제
a = {1: 'a'}
a[2] = 'b'
a['name'] = 'pey'
a[3] = [1, 2, 3]
# {1 : 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}
del a[1]
# {2: 'b', 'name': 'pey', 3: [1, 2, 3]}
- 딕셔너리에서 key를 사용해 Value 얻기
grade = {'pey': 10, 'julliet': 99}
grade['julliet'] # 99
dic = {'name': 'pey', 'phone': '010-9999-1234', 'birth': '1118'}
dic['birth'] #1118
※ 딕셔너리 만들 때 주의사항
딕셔너리에서 key는 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다는 점을 주의해야 한다. 그 이유는 Key를 통해서 Value를 얻는 딕셔너리의 특징 때문이다. 즉, 딕셔너리에는 동일한 Key가 중복으로 존재할 수 없다.
딕셔너리 관련 함수
- Key 리스트 만들기 (dict_keys) : 해당 딕셔너리의 Key만 모아서 객체 리턴
- Value 리스트 만들기 (dic_values) : 해당 딕셔너리의 Value만 모아서 객체 리턴
- Key, Value 쌍 얻기 (dic_items) : Key와 Value의 쌍을 튜플로 묶은 값을 객체로 리턴
- clear : 딕셔너리 안의 모든 요소를 삭제
- get : Key로 Value 얻기 (이때, 딕셔너리에 존재하지 않는 키로 값을 가져오면 'None'을 리턴)
- in : 해당 Key가 딕셔너리 안에 있는지 조사하여 참과 거짓을 리턴
Chapter 06. 집합 자료형
집합(set)은 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.
집합 자료형은?
집합 자료형의 경우 set 키워드를 사용해 만들 수 있다. 이때, 비어있는 집합 자료형의 경우 s = set()으로 만들 수 있다.
집합 자료형의 특징)
- 중복을 허용하지 않는다.
- 순서가 없다. → 인덱싱 지원 X
교집합, 합집합, 차집합 구하기
- 교집합 구하기 : & 혹은 intersection 함수 사용
- 합집합 구하기 : '|' 혹은 union 함수 사용
- 차집합 구하기 : - (빼기) 혹은 difference 함수 사용
집합 자료형 관련 함수
- add : 값 1개 추가
- update : 값 여러개 추가
- remove : 특정 값 제거
참고자료 : Do it! 점프 투 파이썬 (전면 개정 2판)
'Programming > Python' 카테고리의 다른 글
| [파이썬 입출력] 함수 (0) | 2023.07.30 |
|---|---|
| [파이썬 구조] 제어문 (0) | 2023.07.23 |