본문 바로가기
728x90
반응형
SMALL

전체 글1627

[Python] 네임 스페이스 (Namespace) 네임 스페이스 (Namespace) 클래스 네임 스페이스 클래스는 자체 네임 스페이스를 유지하며 이를 클래스 네임스 페이스라고 함 클래스 네임 스페이스에서 이름은 클래스 변수에 매핑됨 인스턴스 네임 스페이스 모든 인스턴스는 자체 네임 스페이스를 가지며, 이를 인스턴스 네임 스페이스라고 함 인스턴스 네임 스페이스에서 이름은 인스턴스 변수에 매핑됨 class Mobile: fp = 'yes' # 클래스 변수 realme = Mobile() redmi = Mobile() geek = Mobile() print(Mobile.fp) # 출력 : yes print(realme.fp) # 출력 : yes print(redmi.fp) # 출력 : yes print(geek.fp) # 출력 : yes Mobile.fp .. 2023. 6. 12.
[Python] 상속 (Inheritance) 상속 (Inheritance) 기존 클래스 (old class)에서 새 클래스 (new class)를 파생하여 새 클래스가 기존 클래스의 모든 멤버 (변수와 메서드)를 상속하는 메커니즘을 상속 또는 유도라고 한다. 기존 클래스는 슈퍼 클래스 (Super Class)라고 하며, 새 클래스는 서브 클래스 (Sub Class)라고 한다. 부모 클래스 (Parent Class) 기본 클래스 (Base Class) 또는 슈퍼 클래스 (Super Class) 자식 클래스 (Child Class) 파생 클래스 (Derived Class) 또는 서브 클래스 (Sub Class) 파이썬의 모든 클래스는 ‘object’라는 단일 슈퍼 클래스로부터 빌드되므로, 파이썬에서 클래스를 생성하면 내부적으로 ‘object’가 슈퍼 .. 2023. 6. 9.
[Python] 데이터 구조 배열 (Array) 배열은 같은 데이터 타입의 요소들을 순서대로 저장할 때 유용하다. 배열은 리스트보다 적은 메모리를 사용하며, 자료 구조의 각 요소가 사용하는 메모리 공간 크기가 같기 때문에 효율적으로 동작한다. 요소가 연속된 공간에 순서대로 저장되기 때문에 요소를 삽입하거나 제거할 때 배열 전체를 수정해야 한다는 문제가 있다. import array arr = array.array('i', [1, 2, 3, 4, 5]) print("Array : ", arr) 리스트 (List) 리스트는 데이터 타입이 같거나 다른 요소들을 순서대로 저장할 때 유용하다. 리스트는 변경 가능하므로 요소를 수정할 수 있다. 각 요소를 독립된 공간에 저장하고 요소의 주소를 서로로 참조하여 연결한다. 요소가 모두 다른 위치에.. 2023. 6. 9.
[Graph Theory] 작은 세상 네트워크 (Small World Network) 작은 세상 네트워크 (Small World Network) 작은 세상 네트워크는 대부분의 노드가 서로의 이웃이 아니지만 주어진 노드의 이웃이 서로의 이웃일 가능성이 있는 수학적 그래프이다. 이로 인해 대부분의 인접 노드는 적은 수의 홉 또는 단계로 다른 모든 노드에서 도달할 수 있다. 특히, small-world 네트워크는 무작위로 선택된 두 노드 사이의 일반적인 거리 L (필요한 단계 수)이 네트워크의 노드 수 N의 로그 에 비례하여 증가하는 네트워크로 정의된다. 글로벌 클러스터링 계수는 작지 않다. 소셜 네트워크의 맥락에서 이것은 낯선 사람들이 짧은 지인 사슬로 연결되는 작은 세계 현상을 초래한다. 소셜 네트워크 , Wikipedia와 같은 위키, 유전자 네트워크 , 심지어 인터넷 의 기본 아키텍처를.. 2023. 6. 8.
[Graph Theory] 네트워크 과학 (Network Science) 네트워크 과학 (Network Science) 네트워크 과학은 통신망, 컴퓨터망, 생물학적 네트워크, 인지 및 의미망, 소셜 네트워크 등의 복잡한 네트워크를 노드 (또는 꼭짓점)로 표현되는 별개의 요소 또는 행위자 와 요소 또는 링크 (또는 가장자리)로 행위자 간의 연결을 고려하여 연구하는 학문 분야이다. 이 분야는 컴퓨터 과학의 정보 시각화, 통계의 추론 모델링, 사회학의 사회 구조에서 수학의 그래프 이론, 물리학의 통계 역학, 데이터 마이닝을 포함한 이론과 방법을 사용한다. 미국 국립 연구 위원회는 네트워크 과학을 "이러한 현상의 예측 모델로 이끄는 물리적, 생물학적 및 사회적 현상의 네트워크 표현에 대한 연구"로 정의한다. 무작위 네트워크 (Random network) 노드들 사이의 연결 유무를 주.. 2023. 6. 8.
그래프 이론 (Graph Theory) 그래프 이론 (Graph Theory) 그래프 이론 (graph theory, 圖論, 도론)은 수학에서 객체 간에 짝을 이루는 관계를 모델링하기 위해 사용되는 수학 구조인 그래프에 대한 연구이다. 이 문맥에서 그래프는 꼭짓점 (버텍스, vertex), 교점 (노드, node), 점 (포인트, point)으로 구성되며 이것들은 변 (엣지, edge, 간선), 즉 선으로 연결된다. 그래프는 무향 (무방향성)일 수 있는데 이는 각 변 (선)으로 연결되는 두 개의 꼭짓점 간에 구별이 없다는 의미이며, 한편 변은 한 꼭짓점에서 다른 꼭짓점 간에 방향이 있을 수도 있다. 그래프는 이산 수학의 주요 논제 가운데 하나이다. https://ko.wikipedia.org/wiki/%EA%B7%B8%EB%9E%98%ED%9.. 2023. 6. 8.
[Python] 폴더 내의 파일 재명명하기 import os # 재귀적으로 폴더 내부의 파일을 재명명하는 함수 def rename_files_in_folder(folder_path): # 폴더 내부의 파일과 폴더 목록 file_list = os.listdir(folder_path) # 각 파일과 폴더에 대해서 작업 수행 for item in file_list: item_path = os.path.join(folder_path, item) # 파일인 경우에만 작업 수행 if os.path.isfile(item_path): # 파일의 기존 이름과 확장자 분리 file_name, file_ext = os.path.splitext(item) # 폴더의 이름을 파일 이름에 추가하여 새로운 이름 생성 new_file_name = f"{os.path.base.. 2023. 6. 8.
[Computer Science] 부울 대수 / 논리 회로 부울 대수 (Boolean Algebra) 부울 논리는 논리적 산법의 완전한 체계이다. 부울 논리라는 이름은 19세기 중순에 논리의 대수계를 처음으로 정의한 조지 불에서 따온 것이다. 부울 논리는 전자 공학, 컴퓨터 하드웨어 및 소프트웨어 등으로 넓게 응용되고 있다. 부울 연산자는 AND 또는 NOT과 같은 단어 및 기호로, 데이터베이스나 검색 엔진을 사용할 때 검색 매개변수를 확장하거나 좁힐 수 있다. 이러한 연산자를 사용하여 검색하는 것을 부울 검색이라고 한다. 논리 회로 (Logic Gate) 전자 공학에서 논리 회로는 부울 대수를 물리적 장치에 구현한 것으로, 하나 이상의 논리적 입력값에 대해 논리 연산을 수행하여 하나의 논리적 출력값을 얻는 전자 회로를 말한다. AND, OR, NOT의 기본 부.. 2023. 6. 7.
[Computer Science] 이진수 (Binary) 이진수 (Binary) 이진법 (二進法, binary)은 두 개의 숫자(1과 0)만을 이용하는 수 체계이다. 관습적으로 0과 1의 기호를 쓰며 이들로 이루어진 수를 이진수라고 한다. 이진법은 라이프니츠 (Gottfried Wilhelm Leibniz)가 음양사상의 영향을 받아 발명하였다. 십진법의 1은 이진법에서는 1, 십진법의 2는 이진법에서는 10, 십진법의 3은 이진법에서는 11이다. 이처럼 이진법에서는 1로 끝나는 수 다음 수는 자릿수가 하나 더 많은 수인데, 이는 십진법에서 9로 끝나는 수 다음 수가 자릿수가 하나 더 많은 수인 것과 유사하다. 컴퓨터에서는 논리의 조립이 간단하고 내부에 사용되는 소자의 특성상 이진법이 편리하기 때문에 이진법을 사용한다. 디지털 신호는 기본적으로 이진법 수들의 나.. 2023. 6. 7.
컴퓨터 과학 (Computer Science) 컴퓨터 과학 (Computer Science)  컴퓨터 과학 (computer science) 또는 전산학은 알고리즘 과정, 계산 기계 그리고 계산 자체에 대한 학문이다. 컴퓨터 과학은 알고리즘, 계산 및 정보에 대한 이론적 연구에서부터 하드웨어와 소프트웨어의 계산 시스템 구현에 대한 실질적인 문제에 이르기까지 다양한 주제에 걸쳐 있다. 전산 이론 및 시스템 설계를 다루는 전문가를 컴퓨터 과학자 또는 전산학자라 부른다. 컴퓨터 과학의 분야는 이론적인 분야와 실용적인 분야로 나눌 수 있다. 예를 들어, 컴퓨터 그래픽스나 계산 기하학은 보다 구체적인 응용을 강조하는 반면, 계산 이론은 추상적인 계산 모델과 그것들을 사용하여 해결할 수 있는 일반적인 종류의 문제에 관한 것이다. 알고리즘과 데이터 구조는 컴퓨터.. 2023. 6. 7.
728x90
반응형
LIST