OOP
·
2-2/파이썬, 자료구조
*사실 파이썬은 캡슐화를 지원하는 언어는 아님 ! (private x) 클래스 없어도 괜찮은 언어 *클래스에서 self 파라미터엔 아무것도 안넣어도되는거임 캡슐화 =인스턴스를 생성했을 때 일부 구현 내용에 대한 외부로부터의 직접적인 엑세스를 차단하는것입니다. = 캡슐처럼 객체 내부를 숨겨 외부로부터의 엑세스를 차단하는 것 ways 맹글링 -> 완벽은 x _변수 -> 개발자들 사이의 약속 @property 데코레이터 사용내부 보호하기 위해 데이터 접근 메서드를 따로 만들어 주는 것! property ? = 어떤 처리를 해준 속성 @property라는 키워드를 이용해서 클래스 변수를 속성으로 선언하고 하나의 메소드를 통해서 쉽게 get / set 할 수 있습니다 *메서드를 통해서 값을 가져오는 것 =gett..
파이썬 ..
·
2-2/파이썬, 자료구조
데코레이터 https://dojang.io/mod/page/view.php?id=2427 파이썬 코딩 도장: 42.1 데코레이터 만들기 Unit 42. 데코레이터 사용하기 파이썬은 데코레이터(decorator)라는 기능을 제공합니다. 데코레이터는 장식하다, 꾸미다라는 뜻의 decorate에 er(or)을 붙인 말인데 장식하는 도구 정도로 설명할 수 있습 dojang.io 데코레이터는 기존 함수를 수정하지 않으면서 추가 기능을 구현할 때 사용함. 그리고 그 추가기능 함수 = 데코레이터 함수안에 함수가있는 형태고 return 안의함수 해야함 @데코레이터함수이름 은 아무변수이름=데코레이터(기존함수) 와 같음 데코레이터 = 메소드를 매개변수로 받아서 기존함수에 부가적인 기능을 추가하여 사용할 수 있도록 함 _ ..
연결 리스트
·
2-2/파이썬, 자료구조
연결리스트 중간에 삽입, 삭제 good ! O(1) -> 요소들이 다음꺼를 가리키고 있다 ! (포인터를 담고잇다) *중간요소 삭제시 : 해당 객체를 가리키는 객체가 0개면 그 객체 자동으로 지워짐 ! 탐색 bad -> 하나하나씩 다 탐색해야함 ! 인덱싱같은 연산 x -> O(n) 더미 이중 연결 리스트 직접 구현
배열
·
2-2/파이썬, 자료구조
*stack, heap heap 영역이 동적 ! 동적 배열 = 리스트 (파이썬의 배열) (파이썬의 배열은 동적이다 !!) 탐색 기능이 막강(인덱싱->한번에 찾음) & 마지막에서 삽입, 연산 good ! * 중간에 삽입/삭제시 원소들 옮겨야됨 ㅜㅜ ADT operation .is_empty()기능 -> [] 빈 리스트 자체가 false임 .insert(index, n) [] .pop() ->마지막 원소 삭제 후 그 원소 반환 .pop(index) -> 인덱스 원소 삭제 후 반환 .append(n) :맨뒤에 추가 .remove(아이템) -> 배열안에 그 아이템 있으면 그거 삭제 특징 -> 선형적으로 이어져있다 -> 캐시히트가 발생시 시간 매우 절약 ! (캐시로가져올때 주변 데이터까지 같이 가져오므로, 배열은..
추상 데이터 타입(ADT)
·
2-2/파이썬, 자료구조
데이터 타입 = 데이터를 저장하는 객체와, 객체가 할수 있는 연산의 집합 ! (객체 = 데이터타입이 나타낼 수 있는 모든 값의 집합) *파이썬은 c로 만든 단어 ADT = 객체와 연산의 명세에서 객체표현이나 연산 표현을 감춘 것 파이썬은 자료형 명시안함 ! -> 실제 메모리에서 어떤 크기로 저장되는지 감춰짐 ex int로 기본으로 정수 쓰는데, 최댓값 넘어감 -> 알아서 자료형 long long으로 바꿈! 이것처럼 그냥 감추는거 (...)