본문 바로가기

분류 전체보기156

탐색 리스트 내에서 데이터를 매우 빠르게 탐색하는 이진 탐색 알고리즘은 종류에 따라 상황에 맞게 사용하면 시간적&공간적 효율을 가져다 줄 수 있다. 순차 탐색 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차레대로 확인하는 방법이다. 정렬되어 있지 않은 데이터에 대해서 탐색을 진행할 때 효율적이다 리스트 내 데이터가 아무리 많아도 시간이 충분하다면 항상 원하는 원소를 찾을 수 있다는 장점이 있다. 리스트에 특정 값이 있는지 순차적으로 조사하기 체크하여 찾기 때문에 구현이 간단하다. 리스트 자료형의 Count() 메서드는 내부적으로 순차탐색을 통해서 수행이 된다. 가장 앞에 있는 원소부터 하나씩 확인하므로 시간 복잡도는 O(N)이다. 순차 탐색 소스코드 ( py ) def sequent.. 2021. 8. 4.
패키지 패키지 패키지는 도트(_)를 사용하여 파이썬의 모듈들을 계층적 구조로 관리하는 것으로 모듈간의 계층적 관계를 통해 유지와 보수를 쉽게 만들어 준다. 예로 Person_jam.py 라면 Person은 패키지 이름이고 jam은 모듈로 Person 패키지의 jam모듈로 해석된다. 가상의 game 패키지 예시 game/ __init__.py sound/ __init__.py echo.py wav.py graphic/ __init__.py screen.py render.py play/ __init__.py run.py test.py game, sound, graphic, play는 디렉터리고 확장가 .py인 파일은 파이썬의 모듈이다. game인 이 디렉터리 사이에서 루트 디렉터리이며 그 외는 서브 디렉터리이다. .. 2021. 8. 3.
모듈 모듈 모듈은 함수나 클래스 공용변수를 모아놓은 일종의 파일이다. 이러한 모듈을 만들어두면 다른 파이썬 프로그램이나 환경에서 불러와서 모듈 내에 선언된 내용을 사용가능하게 한다. 예를 들어 덧셈과 뺄셈을 하는 함수를 가진 calc.py라는 모듈을 만들면 아래와 같을 것이다 # 파일명 : calc.py def add(a , b) return a+b def sub(a , b) return a-b 이런식으로 단순히 뺄셈과 덧셈의 함수를 가진 .py 확장자의 파이썬 파일도 모듈이라고 할 수 있다. 즉 모든 파이썬 확장자 파일은 모듈이 될 수 있다는 점이다. 이렇게 설정한 모듈을 불러오는 방법은 import를 사용하여 간단하게 불러올 수 있다. 만약에 파일이 같은 디렉터리 내에 위치하고 있다면 import calc.. 2021. 8. 2.
클래스 절차지향 프로그래밍 방식과 달리 객체지향 프로그래밍은 객체를 정의하는 것에서 시작한다. 클래스를 이용하면 생성하는 것은 새로운 타입을 생성하는 것이라고 하기도 한다. 앞서 배운 정수, 실수, 문자열 등 기본 자료형 & 자료구조 모두 클래스를 통해 만들어진 타입이다. 파이썬에서는 함수도 객체로 처리하며 함수에 대해 type()함수를 사용하면 이. 출력되는 것을 확인할 수 있다. 클래스 선언 class 클래스이름: 선언된 클래스에 대해서 객체를 생성하기 위해서는 할당할 변수에 클래스를 연결해주면 된다. 클래스를 정의한다는 것은 새로운 데이터 타입을 정의한 것이기 때문에 실제로 사용하기 위해서는 인스턴스를 통해서 사용할 수 있다. 인스턴스 생성 class Car : pass hyundai = Car() kia.. 2021. 7. 30.
반응형