티스토리 뷰
본 글은 수업의 정리 및 추가학습을 정리하는 글입니다.
한빛미디어출판사의 "밑바닥부터 시작하는 딥러닝" 이라는 책의 내용을 바탕으로 합니다.
python이란? (특징 5가지)
- 무료, 오픈소스
- 컴파일 과정이 없다 = 인터프리터 언어(?)
- 대화형 언어
- 고급 프로그래밍 언어
- 풀 언어(glue 언어) : 다른 언어로 쓰인 모듈들을 연결하는 언어
- 동적타이핑 범용 프로그밍 언어
- 읽기 쉬우며 성능이 뛰어나다.
- 많은 양의 데이터 처리나 빠른 응답이 필요할 때 사용한다.
- 기계학습과 데이터 과학 분야에서 널리 사용된다.
python 설치
python은 하위 호환성이 없다. 본 교재에서는 python3을 사용함
본 교재는 딥러닝을 밑바닥 부터 구현하는 것을 목표로 한다. 따라서 프레임워크나 라이브러리의 사용을 최소한으로 하지만
다음 2가지 라이브러리는 사용한다
1. 넘파이
수치 계산용 라이브러리
2. matplotLib
그래프를 그려주는 라이브러리
아나콘다 배포판 설치
: 아나콘다는 데이터 분석에 중점을 둔 배포판으로 다양한 라이브러리가 포함되어있으며 의존성 관리를 도와준다.
python 기본
산술연산
3 ** 2 = 9 (제곱)
자료형
type( 값 ) : 값의 자료형을 리턴해줌
리스트
a = [ 1,2,3,4,5 ]
len(a) = 3
리스트 슬라이싱
a[0:2] = 1, 2 // 0부터 2까지 2는 포함하지 않음
a[1:] = 2,3,4,5 // 1부터 끝까지
a[:3] = 1,2,,3 // 처음부터 3까지
- 파이썬은 컴파일 과정이 없다 = 인터프리터 언어??
링크2: https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0
링크3: https://namu.wiki/w/%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0
- 동적타이핑 범용 프로그밍 언어
동적 프로그래밍 언어(dynamic programming language, 동적 언어)는 다른 언어에서 컴파일 과정 중 수행하는 특정 일들을 실행 도중(런타임)에 수행하는 고급 언어를 의미하는 용어다. 동적 언어가 런타임에 수행하는 일은 코드 추가, 타입 시스템 변경 등이 있다. 이러한 특징들은 리스프 언어에서 처음으로 구현된 것이 많다. (링크)
////
타입을 언제 확인하느냐에 따라서도 분류를 나눌 수 있는데, 컴파일 시점과 같이 실행 전 시점에 타입이 올바른지를 체크하는 정적 타입(static typing) 언어가 있고, 실행 중에 동적으로 타입을 체크하는 동적 타입(dynamic typing) 언어가 있다. 보통 C나 Java와 같이 컴파일러를 쓰는 언어들이 정적 타입인 경우가 많고, Python이나 JavaScript처럼 별도의 컴파일 시점이 없는 스크립트 언어의 경우 동적 타입을 쓰는 경향이 있다. 하지만 반드시 그런 건 아니고, C#의 dynamic 변수처럼 컴파일을 하면서도 일부분 동적 타입을 쓰도록 허용하는 경우도 있고, TypeScript처럼 동적 타입을 쓰는 환경 위에 정적 타입 시스템을 얹어서 쓰는 경우도 있다.(링크)
추가학습 링크 : http://skyul.tistory.com/67
'Deep Learning' 카테고리의 다른 글
밑바닥부터 시작하는 Deep Learning - 파이썬 기본문법 및 라이브러리(2) (0) | 2017.04.02 |
---|