목록Python (10)
끄적이는 개발노트
※ 상속■ 구현 추상화내부 구현을 숨기고 인터페이스만 제공인터페이스 : 기능의 명세(약속, 규칙) => 이런 함수들을 반드시 가져야 한다는 규칙함수로 추상화내부 로직을 숨기고 기능 단위로 제공클래스/객체로 추상화공통 구조와 인터페이스 정의약속을 전달하기 위해추상 클래스는 반드시 하위 클래스에서 재정의 필요객체 간의 공통적인 부분 공유코드 중복방지일반적으로 계층적 구조(Tree)를 가지지만, 다중 상속 시 DAG(Directed Acyclic Graph) 구조가 될 수 있음상속 구조에서 메소드 재정의(overriding)를 통해 다형성 확보단일 상속과 다중 상속 지원다중 상속 시 Diamond 문제 발생할 수 있음다중 상속 시 MRO(Method Resolution Order, C3 Linearizatio..
■ 선형대수 (Linear Algebra)벡터와 행렬을 다루고, 선형 연산크기와 방향을 가진 벡터를 조합하고 변환하는 규칙 ■ 벡터 (vector)크기와 방향 ■ 하나의 벡터 크기, 방향예시 좌표 : (x, y)크기 (Length, Norm)피타고라스 정리|A| = √(x² + y²)방향좌표의 비율(x:y) 또는 각도θ (x축 기준) 벡터 정규화(Normalization)크기 영향을 제거하고 순수하게 방향만 비교크기를 1로 만드는 것 (방향은 유지)벡터 요소를 크기로 나누기(x / |A|, y / |B|) => 단위 벡터 : 크기(norm)가 1인 벡터길이가 0인 벡터는 단위 벡터로 만들 수 없음 (norm이 0이면 단위 벡터 생성 불가 처리 필요) ■ 두 개 벡터 사이의 크기, 방향예시 좌표 : (x₁..
■ 임상의사결정지원시스템 (CDSS, Clinical Descision Support Systems)의료 전문가가 환자 진료 및 치료 과정에서 의사결정(환자 데이터 분석, 질병 예측, 치료법 제안, 위험 요소 감지)을 돕는 시스템 => 의료 전문가의 효율성을 높이고, 환자 안전을 향상시키는데 도움을 주는 것임상 : 환자를 진료하거나 의학을 연구하기 위해 환자를 보는 일의사결정지원시스템 : 단순히 정보를 수집, 저장, 분배하기 위한 시스템을 넘어서 사용자들이 기업의 의사결정을 쉽게 내릴 수 있도록 사업 자료를 분석 해주는 역할을 하는 컴퓨팅 응용 프로그램병원 현장에서의 의사결정 과정 : 진료 - 검사(+ 추가검사 / 추가진료) - 치료 - 관리But, 현재는 인간 중심의 경험 기반 => 의료 환경의 복잡..
■ 객체지향프로그래밍(OOP - Object Oriented Programming)프로그램을 명령어 목록이 아닌, 데이터와 기능(메드)을 묶은 독립적인 ‘객체’들의 상호작용으로 구성하는 방식class는 사용자 정의 데이터 타입멤버변수에는 다양한 데이터 타입 지정 가능class는 이질적 데이터를 저장 : list와 다른 점은 list는 index에 의한 접근이지만 class는 이름에 의한 접근특징추상화 (Abstraction)현실 세계의 개념(객체, 속성, 행동)을 프로그래밍 객체(Object)로 표현하는 과정필요한 정보와 기능만 노출하고, 내부 구현은 감춤(ex. 자동차라는 객체 생성 => 시동걸기, 주행 같은 기능 제공 but 엔진 내부 작동 방식 숨김)캡슐화 (Encapsulation)데이터와 메소드..
■ 함수파이썬의 함수는 객체변수에 할당 가능매개변수 전달함수의 리턴값으로 사용가능함수 실행 흐름입력 => 처리 => 출력즉, 매개변수(인자) => 함수실행 => return매개변수기본적으로 개수, 순서가 일치해야 함종류필수인자(required parameter)반드시 값을 입력해야 함기본인자(default parameter)기본값반드시 뒤에 위치키워드인자(keyword parameter)호출할 때 이름(키워드)를 지정해서 전달순서 무시 가능가변인자(variable length parameter)*args여러 개의 위치 인자tuple 형태**kwargsdict 형태# *argsdef add_all(*args): return sum(args)print(add_all(1, 2, 3, 4)) # 10# ..
# []:list, indexing# {}: dict, set# (): tuple, 함수a = [1, 2, 3, 4, 5] # 리스트 초기화b = a[0:2] # slicingprint(b)print(type(b)) # slicing한 결과도 list# 출력# [1, 2]# a = [1, 2, 3]# stack -> 변수 a가 리스트 객체의 참조(주소)를 저장# heap -> 리스트 객체[1, 2, 3]와 그 안의 요소들이 저장됨# casting(형변환)# int("23") -> 문자열을 정수로 변환b = str(a[2]) + " hi" # concatenation(문자열 결합)print(b)# 출력# 3 hi# 파이썬의 list의 특징# 동적 배열 (C의 배열처럼 연속된 메모리를 사용하며, 필요 시 ..
