본문 바로가기

프로그래밍 언어 (プログラミング言語)

__getitem__()(Feat. 시퀀스(Sequence) 객체, 매핑(Mapping) 객체) 파이썬에서 __getitem() 메서드의 역할을 알기 전에 먼저, Sequence 객체와 Mapping 객체가 무엇인지 알아야 한다. Sequence 객체 -> [여러 요소(element)]로 이루어진 [순서 있는] 데이터 컬렉션을 나타냅니다. (쉽게 생각을 하면, INDEX로 접근이 가능한 객체라고 생각하면 될 듯) (파이썬에서의 시퀀스 객체는 문자열, 리스트, 튜플 등이 있다) 문자열(String): 문자들의 순서 있는 집합입니다. 예를 들어 "hello"나 "python"과 같은 것들이 문자열 시퀀스의 예시입니다. 문자열은 개별 문자의 시퀀스로 이루어져 있습니다. 리스트(List): 값들의 순서 있는 목록입니다. [1, 2, 3]이나 ['apple', 'banana', 'orange']와 같은 것들.. 더보기
plt.ylim(), plt.legend(), plt.plot(Feat. Matplotlib) 우선 plt.plot()에 대해서 이해를 하고 가자. plt.plot() 함수는 Matplotlib 라이브러리를 사용하여 그래프를 그릴 때 사용하는 함수입니다. 이 함수는 주어진 데이터를 그래프로 시각화하는 데 사용됩니다. (주로 선 그래프를 그릴 때 사용되지만 다양한 스타일의 그래프를 그릴 수 있습니다.) plt.plot() 함수의 기본적인 사용법은 다음과 같습니다 plt.plot(x,y,'format') ( format -> ex) 'r'[점으로 그래프 표시], 'r--'[점선으로 그래프 표시]) 여기서 x는 x 축에 대한 데이터, y는 y 축에 대한 데이터이고, 'format'은 그래프의 스타일을 지정하는 문자열입니다. 예를 들어, 'r--'는 빨간색 점선을 의미합니다. plt.plot() 함수를 .. 더보기
컴퓨터 비전과 딥러닝 P255(Matplotlib 관련 코드 설명) (아래의 코드 블럭을 읽기 전에 먼저 이 3가지 용어에 대해 이해하고 가자) Plotting(플로팅) : 데이터를 시각적으로 표현하는 과정 또는 방법을 가리킵니다. 데이터를 그래프나 차트 등의 형태로 시각화하여 분석하거나 전달하는 것을 말합니다. Plot(플롯): 데이터를 시각화하기 위한 그래프나 차트 등를 의미합니다. 선 그래프, 산점도, 히스토그램 등 다양한 형태의 플롯이 있습니다. 각각의 플롯은 데이터의 특성에 따라 적합한 시각화 방 법을 선택하여 사용합니다. Figure(피규어): Plot이 그려지는 영역을 가리킵니다. Figure는 하나 이상의 Plot을 포함할 수 있으며, Plot의 배치 및 크기를 조절할 수 있습니다. 보통 하나의 Figure 안에 여러 개의 Sub Plot(서브 그림)을 생.. 더보기
아나콘다(anadonda)를 사용하는 이유! 가상 환경은 마치 독립된 작업 공간을 만드는 것과 비슷합니다. 여러분이 여러 프로젝트를 진행하고 있는데, 각 프로젝트마다 필요한 패키지들이 서로 다를 수 있습니다. 이때 가상 환경을 사용하면, 각 프로젝트에 맞게 독립된 환경을 만들어 사용할 수 있습니다. 예를 들어, 프로젝트 A: 여기에서는 TensorFlow 2.0 버전을 사용해야 할 필요가 있습니다. 프로젝트 B: 반면에 여기에서는 TensorFlow 1.0 버전을 사용해야 하는 경우가 있을 수 있습니다. 이때, 가상 환경을 사용하면 다음과 같이 설정할 수 있습니다. 프로젝트 A를 위한 가상 환경: TensorFlow 2.0 버전을 설치하고, 필요한 다른 패키지들을 추가로 설치합니다. 프로젝트 B를 위한 다른 가상 환경: TensorFlow 1.0 .. 더보기
List vs Array(Numpy) List vs Array 데이터 타입이 한 종류이면 무조건 Nump의 ndarray()를 사용하자 Why?? 1. 속도 : 파이썬의 List는 여러 가지 데이터 타입의 요소를 포함할 수 있지만, 동시에 각 요소에 대한 타입 체크와 변환하는 작업 필요 2. 메모리 오버헤드 a) List는 각 요소의 [Meta Data](타입 정보 등)과 함께 저장이 된다. b) List는 [동적] 배열이다. -> 배열의 size가 변하면, 기존 크기의 list를 새롭게 [복사]하여 요소를 추가해야 한다. c) 파이썬 리스트의 인덱스 연산은 배열과는 다르게 유연하게 동작합니다. 음수 인덱스, 슬라이싱 등이 가능하지만, 이는 인덱스 연산 시에 추가적인 계산이 필요하게 만듭니다. Conclusion : 반면에 배열은 보통 정적.. 더보기
for:each문은 조회(read)만 가능(write 불가능) LinkedList queue = new LinkedList(); for(LinkedList queue:queues) // for:each 문은 조회(read)만 가능하다. queue = new LinkedList(); // 에러! 아래와 같이 수정을 해야 한다. for(int x = 0;x < queues.length;x++) queues[x] = new LinkedList(); 더보기
컬렉션 사용 시, equals(), hashCode() 오버라이딩 공식 https://incheol-jung.gitbook.io/docs/q-and-a/java/hashcode-equals hashCode()와 equals() - Incheol's TECH BLOG #define RUNTIME_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct, manageable, product_rw, lp64_product) \\ develop(bool, InlineObjectHash, true, \\ product(intx, hashCode, 5, \\ incheol-jung.gitbook.io 위 사이트 참조 더보기
toString() 호출에 의한 무한 루프 더보기