Python에 대해 공부한 내용(주요 개념, 헷갈리는 내용 등)을 한눈에 볼 수 있도록 정리한 게시글입니다.
Python 주요 개념
변수 (자료형)
- 숫자형, 문자형, bool형, Iterable 형(리스트형, 튜플형, 딕셔너리형, 집합형)
- 숫자형
- 문자열
- 탈출문자 (ex. r'string', \' or \")
- Iterable 형과 관련된 개념
- python의 리스트는 Linked List?
- 리스트 컴프리헨션
- call by value vs call by reference (mutable vs immutable)
- shallow copy vs deep copy
- 언패킹 (unpacking)
- map, filter, reduce 사용법
- lazy evalution : map(), filter(), reduce()
- 개수 세기 : Counter
- 리스트 동적 할당
- 연산자
- [and, or] vs [&, |] (파이썬에서는 &&, || ❌)
- is, == 차이
- := 연산자
- 타입 어노테이션
- typing : List, Dict, Tuple, Set, Optional, Union, Iterable...
조건문 및 반복문
- if문, for 루프에서 생성된 변수는 끝나더라도 사라지지 않는다.
- 논리 연산자(and, or)
- 한줄 if-else문
- range 보다는 enumerate 를 이용?
- for 와 리스트(iterable vs iterator)
함수
- 유용한 함수 정리본
- 가변 인자 : *args, **kwargs
- Lambda 함수
- closer, decorator(@) : 내부 함수 (함수 안 함수)
- 내장 함수
- zip() : list()와 함께 사용
- sort() vs sorted()
- all(), any()
- with
- generator & yield
- 부분 함수 (partial)
- 함수 이름 앞에 _
- 함수 기본값에 리스트를 쓰면 안되는 이유
- argparse
클래스
- 클래스를 쓰는 이유
- 생성자
- 메서드 오버라이딩
- 상속
- 클래스 변수 (@classmethod) vs 인스턴스 변수
- Pydantic
- Enum
- 매직 메서드
- 객체의 속성, 메서드 확인 : dir(), help()
모듈과 패키지
- 모듈과 패키지란?
- import 원리 (제약조건)
- __init__.py 를 추가하는 이유
파일
예외처리 및 테스트
- try, except
- 디버깅
- 에러 발생 코드가 필요한 이유
정규표현식
- re 사용법
유용한 Python Library
- os, sys, math ...
- 수학
- math, random, itertool
- 정규표현식 re
외부 라이브러리
- 데이터 관련 라이브러리
- ML 관련 라이브러리
- 코드 가독성 및 관리 라이브러리
- Unit test / TDD 라이브러리
- unittest, pytest
- 병럴처리 라이브러리
알아두면 좋은 Python 지식
반응형