목록NLP/STUDY (11)
욤미의 개발일지
[Lecture 9] Advanced Data Structure 우선순위 큐, 스택, 큐, linked list, 기본 값이 있는 dictionary 등 좀 더 강력한 자료구조를 사용하고 싶을 때 Stack FILO 구조 기존 list를 활용한다. 동적 배열이기 때문에 push와 pop이 O(1) append: push 연산 / pop: pop 연산 Queue FIFO 구조 list로 구현할 수는 있지만 처음 위치에 삽입/삭제하는 경우 O(N)이 걸림 linked list 구조를 활용해야함 tail에서 데이터 추가, head에서 데이터 삭제 double linked list는 양방향으로 접근 가능한 데이터 구조 - Deque 중간 random access가 어렵다. head, tail에서 원하는 위치로 ..
[Lecture 8] Module & Package 모듈과 패키지로 작성한 코드를 재사용할 수 있다. 파이썬에서 모듈 = .py 파일 import module 모듈을 불러올 수 있다. 해당 파일의 최상위에 선언된 모듈의 요소들을 불러올 수 있다. module.element로 사용가능 . 혹은 .. 없이는 절대 경로 기준이다.(python이 실행되는 곳) import문은 import된 .py 파일을 처음부터 끝까지 실행시킨다. 모듈로 import 했을 때 특정 Block만 실행시키고 싶다면? __name__ 기본 변수는 현재 모듈의 이름을 보여줌. main으로 실행중이면 __main__이라는 특수한 이름을 가짐 def add(num1: int, num2: int) -> int: return num1 + n..
[Lecture 7] Object-Oriented Programming 절차 지향 프로그래밍 절차를 차례대로 작성하는 것 → 절차 지향 프로그래밍 중간 과정을 수정하면 뒤에 있는 코드도 수정해야할 수도 있음. 협업 시 프로그래머의 수정 사항이 다른 프로그래머에게 큰 영향을 줌 → 코드를 객체 단위로 나눌 필요가 있다. = 객체 지향 프로그래밍 클래스(Class)당 객체(Object)는 여러개 일 수 있다. 각 객체의 데이터(Attribute)는 달라도 행동(Method)는 동일하다. Class 클래스명(부모클래스)클래스 선언 클래스명은 CamelCase가 관습적으로 사용 부모 클래스가 지정되지 않으면 object가 자동 상속된다. 클래스 속성 모든 객체가 같은 값을 참조, but 남용하면 스파게티 코드의..
[Lecture 4] Contition & Loop 조건문 특정 조건이 만족될 경우 문장을 실행 들여쓰기와 :으로 구분한다. 들여쓰기의 convention은 스페이스 4칸(tab) if 조건 : 조건을 검사하여 블록 실행 elif 조건 : 이전 조건과 맞지 않을 경우 조건을 다시 검사하고 실행 else 조건 : 모든 조건이 맞지 않을 경우 실행 “”, 0, None은 False와 동일하게 취급 삼항 연산자 value1 if condition else value2 condition이 참이면 value1 condition이 거짓이면 value2 연산자이기 때문에 블록으로 구분되는 문법요소가 아니다. 반복문 for Element in Iterable 주어진 객체(집합)을 순환 - 딕셔너리, 문자열 등 조건을 ..

[Lecture 0] Python Overview 파이썬 언어의 특징 플랫폼 독립적 인터프리터 언어 완전 객체 지향 언어 동적 타이핑 언어 [Lecture 1] Environment 파이썬 환경설정 wsl 설치, oh-my-zsh 사용 환경설정 해보기 [Lecture 2] Variable & Operator 파이썬 변수의 특징 변수는 값을 저장하는 공간으로 = 연산자로 대입 가능 모든 변수는 메모리 주소를 가리킨다. (즉, 포인터) 선언한 변수에 특정 공간이 생기는 개념X 필요하면 공간을 만들고 변수명을 붙인다.변수명은 일종의 이름표 변수명 알파벳, 숫자, 언더스코어(_) 사용 숫자로 변수명 시작 X 변수의 특징이 살아있도록 정의 대소문자 구분함 for, if, else, True 같은 예약어는 사용X ..