본문 바로가기

Review/SW Jungle35

[WEEK01] 예외처리 [점프투파이썬] 개념 정리 오류의 예 : FileNotFoundError : ZeroDivisionError 예외처리 기법 # 기본 구조 try: ... except [발생오류 [as 오류메시지 변수]] # [ ] 기호는 괄호 안의 내용을 생략할 수 있다는 관례적인 표현 1) try ~ except : : 오류 종류에 상관없이 오류 발생시 except 블록을 수행 2) try ~ except 발생오류 : : except 문에 미리 정해놓은 오류 이름과 일치할 때만 except 블록 수행 3) try ~ except 발생오류 as 오류메시지 변수: : 2)에서 오류 메시지 내용까지 알고 싶을때 그 외 예외처리 기법 1) try ~ finally : : finally절은 try문을 수행도중 예외 발생여부에 .. 2022. 9. 26.
[WEEK01] 클래스 [점프투파이썬] 개념 정리 클래스에 구현된 함수 = method (메서드) 클래스로 만든 객체의 객체변수는 다른 객체의 객체변수에 상관없이 독립적인 값을 유지 a = FourCal() b = FourCal() a.setdata(4, 2) b.setdata(3, 7) 생성자 : 객체가 생성될때 자동으로 호출되는 메서드 (초기값 설정가능) def __init__(self, first, second): self.first = first self.second = second 상속 : 어떤 클래스를 만들 때 다른 클래스 기능을 물려받을 수 있게 만드는 것 : 클래스 상속을 위해서는 클래스 이름 뒤에 상속할 클래스 이름을 넣어주면 됨 : class 클래스이름(상속할 클래스 이름) why? 기존 클래스에 함수나 클래.. 2022. 9. 26.
[WEEK01] 복잡도 & 점근법 복잡도 (complexity) 점근적 표기 알고리즘의 수행시간을 표기하기 위해, 필수적인 부분에 집중하고 불필요한 상세들은 무시 점근적 표기법 종류 O-표기 : 상한 표기법 : 점근적 상한만 알고 있을 때 사용하는 표기법 ⇒ 최악의 경우에도 이 기준을 넘지 않음 : 임의의 n값에 대해 크기 n인 특정 입력이 선택되더라도 수행시간이 O(n^2)임을 뜻함 : 최악의 경우 수행시간이 O(n^2)이라는 뜻 : n의 오더 또는 오더 n : O는 order의 머리글자 (initial) 세타표기 : 점근적으로 어떤 함수의 위와 아래를 한계지음 오메가 표기 : 점근적 하한만 알고 있을 때 사용하는 표기법 ⇒ 아무리 빨라도 이 기준보다 빠를 수 없음 시간복잡도(time complexity) : 실행하는데 필요한 시간 평.. 2022. 9. 26.
[WEEK01] 검색 알고리즘 (선형검색 / 이진검색) + 트리자료구조 [Do it 자료구조와 함께 배우는 알고리즘 입문 with 파이썬] 개념 정리 1) 선형 검색 : 무작위로 늘어놓은 데이터 집합에서 검색 수행 : linear search / sequential search(순차검색)으로 불림 종료조건 1) if i == len(a) 성립시 스캔종료 종료조건 2) if a[i] == key 성립시 스캔종료 보초법 (sentinel method) : 검색할 값을 배열의 맨 끝에 추가 종료조건 1) if i == len(a) 성립시 스캔종료 (보초법에서는 필요없음) 종료조건 2) if a[i] == key 성립시 스캔종료 (for문 마지막에 체크해서 맨 끝 값과 같으면 false) 2) 이진 검색 : 원소가 오름차순이나 내림차순으로 정렬된 배열에서 좀 더 효율적으로 검색가능.. 2022. 9. 26.
[WEEK01] 함수의 인수와 매개변수 / 객체의 복사 [Do it 자료구조와 함께 배우는 알고리즘 입문 with 파이썬] 개념 정리 1) 함수의 인수와 매개변수 def func(n): print(func(n)) call by object reference 파이썬에서 인수전달은 실제 인수인 객체에 대한 참조를 값으로 전달하여 매개변수에 대입하는 방식 값에 의한 호출 (call by value) : 실제 인수값을 매개변수에 복사하는 값에 의한 호출 참조에 의한 호출 (call by reference) : 실제 인수의 참조를 매개변수에 복사하여 매개변수가 실제 인수와 같아지는 참조에 의한 호출 매개변수와 실제 인수 실행시점 : 매개변수는 실제인수와 같은 객체 참조 함수에서 매개변수 변경시 1) 인수가 immutable : 매개변수 변경시 다른 객체 생성, 그 객.. 2022. 9. 25.
[WEEK01] 배열과 자료구조 (python) [Do it 자료구조와 함께 배우는 알고리즘 입문 with 파이썬] 개념 정리 1) 배열 Python에서 List, Tuple (a.k.a. Data Container) 특징 : 묶음 단위로 값을 저장 : 하나하나는 원소라 부름 : 서로 다른 자료형을 같이 저장 가능 : 배열 원소 자체를 배열에 저장 가능함 1-1) 스캔 : 배열 원소를 하나씩 차례로 주목하여 살펴보는 방식 (traverse) cf) 리스트 스캔하는 방법 1) 원소 수를 len(함수)로 미리 알아내서 range로 2) enumerate( ) 함수 사용 3) 인덱스 x, in 사용 => 처음부터 순서대로 꺼냄 1-2) 주석, 자료형 hint ; annotation from typing import Any, Sequence def max_o.. 2022. 9. 25.