숫자
- 정수: 따로 크기 제한은 없음. javascript처럼 bigint로 변경할 필요 없음.
- 실수
- 8진수: 0o32 | 0O32
- 16진수: 0x2A
사칙 연산
- +, +=
- -, -=
- *, *=
- /, /=
- **, **=: 제곱
- %, %=: 나머지
- //, //=: 몫
문자열
- "str" | 'str'
- """str""" | '''str''': 줄 바꿈 문자열이 없어도 줄 바꿈을 사용할 수 있다.
- 이스케이프 코드: \n, \t 등 문자열 내부에서 사용하는 코드
문자열 연산
- +: 합치기
- *: 반복
- len(str): str의 길이. 공백 문자 포함.
- str[index]: 문자열 인덱싱
- str[start_index:end_index]: 문자열 슬라이싱. end_index 미포함. start_index가 생략된 경우 0부터 시작, end_index가 생략된 경우 문자열의 끝까지
문자열 포매팅
'%[str_format_code]' %(data)
- %d: 문자열 내부에 정수 대입
- %[number]f: 문자열 내부에 부동소수 대입. number를 통해 소수점 자릿수 표기 가능.
- %c: 문자열 내부에 문자 1개 대입
- %[number]s: 문자열 내부에 문자열 대입. number만큼 문자열의 길이 유지. number가 음수일 경우 왼쪽 정렬.
- %o: 문자열 내부에 8진수 대입
- %x: 문자열 내부에 16진수 대입
- %% 문자열 내부에 %문자 대입. '2%'에서 2를 입력받고 싶은 경우 단순하게 '%d%'라고 사용하면 에러가 발생한다. 따라서 '%d%%'라고 해야 원하는 결과를 얻을 수 있다.
% 방식 말고 format 함수를 사용할 수도 있다. 이 때는 기본적으로 index를 기반으로 들어가면 index 대신 name을 사용할 수 있다. 혼용하는 것도 가능하다.
ex) 'string {0}, {day}'.format(10, day=12)
표현식을 사용하면 %[number]s와 비슷하게 정렬을 사용할 수 있고, 공백 채우기, 소수점 표현하기 등도 가능하다.
f 문자열 포매팅(버전 3.6 이상)
문자열의 앞에 f를 사용하고 내부에서 {}를 통해 데이터를 삽입할 수 있다. 마치 javascript의 `${}`와 비슷하다.
ex) data = 10; f'{data}'
정렬과 공백 채우기는 format과 동일한 방식으로 진행 가능하다.
문자열 함수
- count(target): 문자열 내부에 target의 개수
- find(target): 문자열 내부에 처음 등장하는 target index. 없으면 -1
- index(target): 문자열 내부에 처음 등장하는 target index. 없으면 에러 발생
- str.join(target): target 내부 각 문자 사이에 str 삽입
- upper(), lower(): 대문자 소문자 변환
- lstrip(), rstrip(), strip(): 공백 지우기
- replace(target, str): 문자열 내부의 target을 str로 변환
- split([seperator]): 문자열 내부의 separator 기준으로 리스트에 분할
- isalpha(), isdigit(): 문자열 구성 확인하기
- startswith(target), endswith(target): 문자열이 target으로 시작하거나 끝나는지 확인
리스트
[]와 , 또는 list()로 생성 ex) [data, data, data]
내부의 data는 모든 자료형이 가능.
indexing과 slicing 가능.
indexing의 경우 음수도 가능하다. 이 경우 뒤에서부터 -1, -2,...으로 진행된다.
리스트 연산
- +: 합치기
- *: 내부 요소들 전체 반복
- len(list): list 길
- del list[idx]: 리스트 idx 번째 요소 삭제
리스트 함수
- append(data): 요소 추가
- sort(): 순서 정렬. 기본은 사전순 정렬
- reverse(): 순서 뒤집기
- index(target): 첫 번째 target의 인덱스 반환. 없으면 오류
- insert(index, data): 리스트의 index 위치에 data 삽입
- remove(target): 리스트의 첫 번째 target을 제거. 없으면 오류
- pop(): 맨 마지막 요소 반환 및 삭제
- count(target): target 요소 개수 반환
- extend(list): +와 같은 기능
튜플
()와 , 또는 tuple()로 생성. ex) (data,data,data)
하나의 요소만 가지는 경우에는 마지막에 ,로 끝나야 한다. ex) (data,)
리스트와의 차이점은 tuple은 readonly라는 점이다. 또한 중괄호가 생략될 수 있다.
튜플 연산
- +: 합치기
- *: 내부 요소들 전체 반복
- len(tuple): tuple 길이
딕셔너리
{}와 key, value 쌍을 이용해서 생성. ex) { key:value, key:value }
3.7버전 이상에서는 딕셔너리의 순서가 보장된다.
key에는 변하지 않는 문자, 숫자, 튜플이 가능하고, value에는 모든 자료형이 가능하다.
접근의 경우 dic[key]만 가능하고 javascript와 다르게 dic.key는 불가능하다. 요소가 없는 경우 에러가 발생한다.
딕셔너리 연산
- +: 합치기
- *: 내부 요소들 전체 반복
- len(tuple): tuple 길이
- del dic[key]: key 요소 삭제
딕셔너리 함수
- keys(): 3.0버전 이상 dict_keys 객체 반환하기 때문에 list로 사용하려면 형변환이 필요. 아래 버전은 list 반환.
- values() : 3.0버전 이상 dict_values 객체 반환하기 때문에 list로 사용하려면 형변환이 필요.
- items(): : 3.0버전 이상 dict_items 객체 반환하기 때문에 list로 사용하려면 형변환이 필요.
- clear(): 모든 요소 삭제
- get(key, [default]): key의 value 반환. 없는 경우 None 반환, default 설정 시 default 반환
- key in dictionary: key가 dictionary 안에 있는지 확인. boolean 반환
- pop(key, [default]): key의 value 반환 후 삭제. 없는 경우 에러, default 설정 시 default 반환
집합
{}와 , 또는 set([list|string])으로 생성. ex) {1,2,3}
중복을 허용하지 않고 순서가 없다. 순서가 없기 때문에 인덱싱이 불가능하다.
집합 연산
- &: 교집합
- |: 합집합
- -: 차집합
집합 함수
- intersection(set): 집합과 set의 교집합
- union(set): 집합과 set의 합집합
- difference(set): 집합과 set의 차집합
- add(data): 하나의 요소 추가
- update(list): 여러 요소 추가
- remove(target): target 요소 제거. 없으면 오류
- discard(target): target 요소 제거. 없어도 오류 없음
- clear(): 모든 요소 제거
불
True와 False 중 하나의 값만 가지는 것.
falsy
- 빈 문자열, 리스트, 튜플, 딕셔너리
- 0
- None
불 연산
- and
- or
- not
불 함수
- bool(data): data를 불 타입으로 형변환 할 수 있음
참고
'개발 > Python' 카테고리의 다른 글
| [Python] 기초 학습 - 클래스(1회차) (0) | 2025.10.14 |
|---|---|
| [Python] 기초 학습 - 입출력(1회차) (0) | 2025.10.13 |
| [Python] 기초 학습 - 함수(1회차) (0) | 2025.10.10 |
| [Python] 기초 학습 - 제어문(1회차) (0) | 2025.09.29 |
| [Python] jupyter notebook 환경설정 (0) | 2025.09.23 |