프로그램을 짤 때는 예상치못한 여러 일들이 일어난다. ex) 주소 입력하지 않고 주문 1. exception 1. 예상 가능한 것 (인터럽트와 유사) -> 주소를 입력하지 않을 수 있으니 주소가 빈칸이 되는걸 막자! 2. 예상 불가능 한 것 (트랩과 유사) -> 리스트 범위 초과, 0으로 나누기 등등 -> exception handing 필요! try ~ expect 문법 (try ~ catch 라고도 한다) for i in range(10): try: res = 10 // i; except ZeroDivisionError: print("Not divided by 0"); if문과 유사하지만, 에러를 잡고나서 프로그램을 종료하는 것이 아니라 예외처리 후 계속 실행할 수 있다는 장점이 있다. 그..
파이썬에서는 대부분의 라이브러리가 이미 다른 사용자에 의해 구현이 되어있다! 우리는 주로 이 라이브러리들을 불러와 사용할 것이다. 모듈 : 작은 프로그램 조각들 모듈은 패키지 안에 들어가 있다. 어떤 대상의 부분 혹은 조각인데, 레고 블록 또는 자동차 부품들이라고 생각하면 쉽다. 이들 하나도 어떤 기능을 하지만, 모아서 하나의 큰 프로그램을 개발하는데 유용하다. 하나의 큰 프로그램을 프로젝트(=패키지)라 부른다. 잘 모듈화 시키면 다른 프로그램에서 가져다 쓰기 좋다! API와 유사한 개념! 파이썬에서 Module py파일을 의미한다 import를 사용해서 module을 호출한다! -> 임포트하면 호출한 파일 내로 메모리가 로딩 됨 = 가져다 쓸 수 있다 -> 같은 디렉토리 내부에 있어야 사용가..
객체 지향 언어를 사용하는 이유? 구조화! 다른 사람이 만들어놓은 코드 또는, 여럿이서 공동 개발할 때, 혼자서 개발할 때도 객체 지향적으로 하는 것이 좋다. 객체란? 실생활 속 일종의 물건, 속성(attribute)와 행동(action)을 가진다 ex) 인공지능 축구 프로그램에서 객체는 팀, 선수, 심판, 공 등 OOP는 클래스와 인스턴스로 나뉜다. ex) 클래스 - 붕어빵 틀, 인스턴스 - 붕어빵 -> 도커에서 이미지와 컨테이너의 차이와 비슷하다! OOP 설계 방법 1. class 선언 -> class + 이름 + (상속받을 클래스) + : ※ naming rule은 snake_case와 CamelCase가 있다. 주로 클래스명에서는 대문자를 사용하고, 변수명에서는 언더바("_")를 사..
이 글에서는 간단히 라이브러리들의 종류에 대해서만 소개하고 넘어갈 예정이다. 각 라이브러리들의 자세한 정보가 궁금하다면 구글링 또는 직접 공부하길 바란다. Numpy 프로그램 라이브러리 수학의 함수 등 여러 계산을 편리하게 하기 위한 라이브러리 Import numpy as np Ndarray Class np.array()와 같은 형식으로 사용, 클래스이므로 객체이다. 리스트와 차이점 : 배열 안의 원소에 대한 연산들을 자동적으로 해주는 것이 바로 Ndarray 리스트는 수동으로 직접 하나씩 해주어야 한다. Pandas 프로그램 라이브러리 Import pandas as pd Data Frame - 엑셀, JSON, HTML, CSV, SQL 등과 같은 파일들을 데이터..
※ 이 글은 한국항공대학교 정재훈 교수님의 수업 자료를 바탕으로 작성됨을 알립니다. 파이썬을 알아야 추후 머신러닝을 통한 Neural Network를 구현할 수 있다. 고로 짚고 넘어가자. 파이썬의 특징 1. 배우기 쉽고, 강력 2. 고수준의 데이터 구조(메모리 관리 x) 3. 인터프리팅 환경 상수 1. 문자열 2. 숫자열 3. 불리언 4. 리스트 흐름제어 1. if 2. while 3. for + continue, break 자료구조 1. 리스트 2. 튜플 3. 문자열 객체지향 프로그래밍 1. 클래스 2. 메서드 3. attribute 4. init 함수 5. 상속 파일 입출력 1. open() 2. with ... as ... 객체 저장 1. pickle 모듈 - 파이썬에..