Numbers(숫자형)
Arithmetic Operators(산술 연산자)
a ** b = a의 b 제곱
a % b = a를 b로 나누고 나머지 반환.
a // b = a를 b로 나누고 몫 반환.
Functions(숫자형 관련 함수)
int()
: 객체를 정수로 반환.
float()
: 객체를 실수로 반환.
String(문자열)
문자열 만들기
'a'
: 한 줄 내에 들어갈 문자열.
"a"
: 한 줄 내에 들어갈 문자열.
'''a'''
: 여러 줄에 걸친 문자열.
"""a"""
: 여러 줄에 걸친 문자열.
str(a[2])
: 문자열로 변경.
Escape code: 미리 정의해 둔 "문자 조합"
\n
: 줄 바꾸기
\t
: 탭
\\
: 문자 \
\'
: 문자 ‘
r''
: 문자열 전체에 대해 이스케이프 코드를 처리하지 않음.
Indexing과 Slicing
Indexing: "가리킨다"라는 뜻.
Slicing: "잘라낸다"라는 뜻.
형식: a[1:-1]
immutable: 문자열의 요소값은 바꿀 수 있는 값이 아니다. 즉, a[1]
만을 변경하는 것은 불가능.
Formatting
예시1: "I eat %d apples" % 3 ⇒ 'I eat 3 apples'
예시2: "I ate %d apples. so I was sick for %s days." % (number, day)
%s
: 문자열(어떤 형태든 문자열로 바꿈)
%d
: 정수
%f
: 실수
%%
: 문자 %
%10s
: 전체 길이가 10개인 문자열 공간에서 오른쪽 정렬, 앞의 나머지는 공백.
%-10s
: 전체 길이가 10개인 문자열 공간에서 왼쪽 정렬, 뒤의 나머지는 공백.
%0.4f
: 소수점 네 번째 자리까지 표시.
%10.4f
: 소수점 네 번째 자리까지 표시. 전체 길이가 10개인 문자열 공간에서 오른쪽 정렬, 앞의 나머지는 공백.
format()
"{0}과 {1}".format(x, y)
: 0번에 x, 1번에 y를 각각 넣어주기.
f 문자열 포매팅: Python 3.6부터 가능.
f'나의 이름은 {name}이고, 나이는 내년에 {age+1}이다.'
딕셔너리의
d['key']
등도 들어갈 수 있음.
f'{"hi":<10}'
: 전체 길이가 10개인 문자열 공간에서 왼쪽 정렬, 뒤의 나머지는 공백.
:=^
는 가운데 정렬하고, 나머지는 ‘=' 문자로 공백 채우기.
String Methods(문자열 메서드)
str()
: 객체를 문자열로 변환.
len(a)
: 문자열의 길이 반환.
.count('a')
: 문자열 중 문자 a의 개수 반환.
.find('a')
: 문자열 중 문자 a가 처음 나온 위치를 반환, 존재하지 않는다면 -1을 반환.
.index('a')
: 문자열 중 문자 a가 처음 나온 위치를 반환, 존재하지 않는다면 오류 발생.
",".join('abcd')
: abcd 문자열 각각 사이에 ‘,'를 삽입.
리스트나 튜플에도 입력 가능.
.upper()
& .lower()
& .swapcase()
: 대문자, 소문자, 혹은 서로 변경.
.strip()
& .lstrip()
& .rstrip()
: 문자열의 양옆, 왼쪽, 오른쪽의 한 칸 이상 연속된 공백을 모두 삭제.
.replace('a', 'b')
: a라는 문자를 b로 변경.
.split()
: 값을 기준으로, 값이 없으면 공백을 기준으로 문자열을 나누어 리스트로 변환.
.isalpha()
& .isnumeric()
& .isalnum()
: 문자열이 알파벳, 숫자, 그 둘로만 구성되어 있는지 검사.
.startswith()
: 문자열이 특정 문자로 시작하는지 판단.
List(리스트)
Indexing과 Slicing
a[0]
: 리스트 a의 0자리 요솟값 불러오기.
a[-1][1]
: 리스트 a의 마지막 요솟값인 리스트의 1자리 요솟값 불러오기.
리스트의 연산
문자열과 마찬가지로 더하고 곱하기가 가능.
단, 숫자형과 문자열을 더할 수는 없기에 자료 형태를 str()
함수 등을 통해 자료형을 일치 시켜줘야 함.
List Methods(리스트 메서드)
list()
: 객체를 리스트로 변환.
del 객체
: 모든 자료형을 삭제
del a[1]
등등.
.append(값)
: (값)을 리스트 마지막에 추가.
.sort()
: 리스트 요소를 순서대로 정렬.
.sort(reverse=True)
: 리스트 요소를 역순으로 정렬.
.reverse()
: 현재 리스트를 뒤집음.
.index(값)
: (값)의 위치 값을 반환.
.insert(a, b)
: a번째 자리에 b를 삽입.
.remove(값)
: 가장 앞자리의 (값)을 제거.
.pop()
: 리스트 마지막 요소를 반환. 혹은 x번째 요소를 반환. 그 요소는 삭제.
.count(값)
: 리스트 안의 (값) 개수를 반환.
.extend([값])
: 기존 리스트에 ([값]) 리스트를 뒤에 추가.
Tuple(튜플)
()
로 둘러싸고, 항목 값의 생성, 삭제, 수정이 불가능하다.(1,)
처럼 콤마를 붙여야 한다.zip(): 순회 가능한 객체를 인자로 받고, 각 객체가 담고 있는 원소를 튜플의 형태로, 차례로 접근할 수 있는 반복자를 반환.
list나 dict로 만들면 유용.
Dictionary(딕셔너리)
Ditionary 특징
{Key1:Value1, Key2:Value2}
Ditionary 쌍 추가 및 삭제
a[Key] = Value
: 딕셔너리 a에 {Key:Value}를 추가.
del a[1]
: 딕셔너리 a의 1이라는 Key를 가진 쌍 삭제.
Value 얻기
Dictionary[Key]
: 딕셔너리의 Key에 해당하는 Value를 반환.
Dictionary Methods(딕셔너리 메서드)
.keys()
: 딕셔너리의 Key만을 모아서 dict_keys 객체를 돌려줌.
.values()
: 딕셔너리의 Value만을 모아서 dict_values 객체를 돌려줌.
.items()
: Key와 Value의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려줌.
list()
함수를 이용하면 리스트로 반환 가능.
.clear()
: 딕셔너리 안의 모든 요소 삭제. {} 반환.
.get(Key)
: Key에 대응되는 Value를 반환.
Key가 없으면
a[Key]
는 오류를 발생,a.get(Key)
함수는 None을 반환.
.get(Key, x)
: 딕셔너리 안에 Key가 없으면 x라는 미리 정해 둔 디폴트 값을 대신 가져옴.
.pop(Key)
: Key에 대응되는 Value를 반환하고 딕셔너리에서 삭제.
.pop(Key, x)
: 딕셔너리 안에 Key가 없으면 x라는 미리 정해 둔 디폴트 값을 대신 가져옴
Key **in** Dictionay
: 딕셔너리 안에 Key가 있으면 True, 없으면 False 반환.
Set(집합)
집합 자료형 특징
set("Hello") = {‘e', ‘h', ‘l', ‘o'}
set([1, 2, 3]) = {1, 2, 3}
교집합, 합집합, 차집합
s1 & s2
: 집합 s1과 s2의 교집합.
s1.intersection(s2)
: 집합 s1과 s2의 교집합.
s1 | s2
: 집합 s1과 s2의 합집합.
s1.union(s2)
: 집합 s1과 s2의 합집합.
s1 - s2
: 집합 s1에서 s2를 뺀 차집합.
s1.difference(s2)
: 집합 s1에서 s2를 뺀 차집합.
Set Methods(집합 메서드)
.add(4)
: 1개의 값을 추가.
.update([4, 5])
: 여러 개의 값을 추가.
.remove(2)
: 특정 값을 제거.
Boolean(불)
bool()
: 자료형의 참과 거짓 식별
True
참, 1
1 == 1, 2 > 1
값이 있는 자료형: "python", [1, 2, 3], {‘a':1}
False
거짓, 0
1 == 2, 2< 1
비어있는 자료형: "", [], {}
None