int | 정수: 42, -17, 0 |
float | 실수: 3.14, -0.5 |
str | 문자열: "hello", 'world' |
bool | 불리언: True, False |
list | 순서가 있는 가변 시퀀스: [1, 2, 3] |
tuple | 순서가 있는 불변 시퀀스: (1, 2, 3) |
dict | 키-값 쌍: {"a": 1, "b": 2} |
set | 중복 없는 집합: {1, 2, 3} |
None | Null/빈 값 |
+ - * / | 산술 연산자 |
// | 정수 나눗셈 |
% | 나머지 |
** | 거듭제곱 |
== != < > <= >= | 비교 연산자 |
and or not | 논리 연산자 |
in / not in | 멤버십 연산자 |
is / is not | 동일성 연산자 |
s.upper() | 대문자로 변환 |
s.lower() | 소문자로 변환 |
s.strip() | 앞뒤 공백 제거 |
s.split(sep) | 문자열을 리스트로 분할 |
s.join(list) | 리스트를 문자열로 합침 |
s.replace(old, new) | 부분 문자열 교체 |
s.find(sub) | 부분 문자열 인덱스 찾기 (없으면 -1) |
s.startswith(pre) | 접두사로 시작하는지 확인 |
s.endswith(suf) | 접미사로 끝나는지 확인 |
f"Hello {name}" | F-문자열 (권장) |
f"{value:.2f}" | 소수점 2자리로 포맷 |
f"{num:05d}" | 5자리로 0 패딩 |
"{} {}".format(a, b) | format 메서드 |
"%s %d" % (s, n) | 기존 스타일 포맷팅 |
list.append(x) | 끝에 항목 추가 |
list.extend(iter) | 이터러블의 모든 항목 추가 |
list.insert(i, x) | 인덱스에 항목 삽입 |
list.remove(x) | x의 첫 번째 항목 제거 |
list.pop(i) | 인덱스의 항목 제거 후 반환 |
list.sort() | 리스트 정렬 (제자리) |
list.reverse() | 리스트 역순 (제자리) |
list.index(x) | 첫 번째 항목의 인덱스 찾기 |
list.count(x) | x의 개수 세기 |
list[start:end:step] | 리스트 슬라이싱 |
d.keys() | 모든 키 가져오기 |
d.values() | 모든 값 가져오기 |
d.items() | 모든 키-값 쌍 가져오기 |
d.get(key, default) | 기본값과 함께 값 가져오기 |
d.pop(key) | 값 제거 후 반환 |
d.update(dict2) | 다른 딕셔너리 병합 |
d.setdefault(key, val) | 키가 없으면 설정 |
key in d | 키 존재 여부 확인 |
d | d2 | 딕셔너리 병합 (3.9+) |
s.add(x) | 요소 추가 |
s.remove(x) | 요소 제거 (없으면 에러) |
s.discard(x) | 요소 제거 (에러 없음) |
s1 | s2 | 합집합 |
s1 & s2 | 교집합 |
s1 - s2 | 차집합 |
s1 ^ s2 | 대칭 차집합 |
if condition: | if 문 |
elif condition: | else if |
else: | else |
x if cond else y | 삼항 표현식 |
match value: case x: | 패턴 매칭 (3.10+) |
for x in iterable: | For 루프 |
for i, x in enumerate(iter): | 인덱스와 함께 루프 |
for k, v in dict.items(): | 딕셔너리 키-값 루프 |
while condition: | While 루프 |
break | 즉시 루프 종료 |
continue | 다음 반복으로 건너뛰기 |
else: | break 없이 끝나면 실행 |
pass | 아무것도 안 함 (플레이스홀더) |
def func(args): | 함수 정의 |
return value | 함수에서 값 반환 |
def func(a, b=1): | 기본 인자 |
*args | 가변 위치 인자 |
**kwargs | 가변 키워드 인자 |
lambda x: x * 2 | 익명 함수 |
@decorator | 함수 데코레이터 |
def func(x: int) -> str: | 타입 힌트 |
len(x) | 시퀀스 길이 가져오기 |
range(start, stop, step) | 숫자 시퀀스 생성 |
enumerate(iter) | 인덱스와 값 쌍 가져오기 |
zip(iter1, iter2) | 이터러블에서 항목 쌍 만들기 |
map(func, iter) | 모든 항목에 함수 적용 |
filter(func, iter) | 함수로 항목 필터링 |
sorted(iter, key=f) | 정렬된 리스트 반환 |
reversed(iter) | 역순 이터레이터 반환 |
sum(iter) | 모든 숫자 합계 |
min(iter) / max(iter) | 최소값/최대값 가져오기 |
any(iter) / all(iter) | 하나라도/모두 참인지 확인 |
isinstance(obj, type) | 객체 타입 확인 |
type(obj) | 객체 타입 가져오기 |
print(*args, sep, end) | 콘솔에 출력 |
input(prompt) | 사용자 입력 읽기 |
[x for x in iter] | 리스트 컴프리헨션 |
[x for x in iter if cond] | 조건부 리스트 |
[f(x) for x in iter] | 변환이 있는 리스트 |
{x for x in iter} | 집합 컴프리헨션 |
{k: v for k, v in iter} | 딕셔너리 컴프리헨션 |
(x for x in iter) | 제너레이터 표현식 |
open(f, "r") | 읽기용으로 열기 |
open(f, "w") | 쓰기용으로 열기 (덮어쓰기) |
open(f, "a") | 추가용으로 열기 |
open(f, "rb") | 바이너리 읽기용 열기 |
with open(f) as file: | 컨텍스트 매니저 (자동 닫기) |
file.read() | 파일 전체 읽기 |
file.readline() | 한 줄 읽기 |
file.readlines() | 모든 줄을 리스트로 읽기 |
file.write(s) | 파일에 문자열 쓰기 |
file.writelines(list) | 문자열 리스트 쓰기 |
try: / except: | 예외 잡기 |
except Error as e: | 특정 예외 잡기 |
except (E1, E2): | 여러 예외 잡기 |
else: | 예외 없으면 실행 |
finally: | 항상 실행 (정리) |
raise Exception(msg) | 예외 발생 |
raise from e | 예외 체인 |
assert condition | 조건이 참인지 확인 |
# 조건부 리스트 컴프리헨션
evens = [x for x in range(10) if x % 2 == 0]
# 두 리스트로 딕셔너리 만들기
d = dict(zip(keys, values))
# 파일 줄 읽기
with open("file.txt") as f:
lines = f.readlines()
# map과 람다
doubled = list(map(lambda x: x * 2, numbers))
# 삼항 표현식
result = "예" if condition else "아니오"
# 값 언패킹
a, b, *rest = [1, 2, 3, 4, 5]
# 바다코끼리 연산자 (3.8+)
if (n := len(data)) > 10:
print(f"{n}개 항목을 받았습니다")
# 여러 파일 컨텍스트 매니저
with open("in.txt") as f1, open("out.txt", "w") as f2:
f2.write(f1.read()) python -m venv env로 가상 환경 생성pip freeze > requirements.txt로 의존성 저장if __name__ == "__main__":으로 스크립트 진입점 설정