본문 바로가기
기본적인프로그래밍/python

[Python] basic (수업 내용 정리, Deep learning 기초 -part 1)

by 고양이에빠지다 2020. 11. 10.
반응형

수업내용정리차 씁니다!

 

최근 python을 사용하는 이유 중 하나는 deep learning이나, machine learning을 진행하기 위한 중요한 프로그래밍 언어로서 이용되기 때문입니다.

 

 

 

파이썬이 왜 중요한 언어가 되었는가?!

1) 이해하기가 쉽다. C, C+, java등과 비교하면 상대적으로 쉬운 언어에 속합니다.

2) 계산에 능숙하다. (numpy라는 package를 이용하면, C-type data를 이용하기 때문에 일반적인 int, float 데이터 보다 빠르게 계산이 가능합니다. 듣기로는 10000배정도 빠르다고 합니다.)

3) 바로 읽고 쓰고 버리기 때문에 가볍게 작동한다. ( 메모리에 부하가 없다.)

 

 basic data type

- integer

최대 32byte object.

- floating point

:integer와 같다.

 

* integer,floating point 보다 numpy를 이용해서 분석하는 것이 좋음

* 또한 계산의 오류가 살짝 있음.  예시로 아래와 같음. (floating point 계산은  numpy를 이용해서 해야함)

>>> .2+.1
0.30000000000000004
>>> .2+1
1.2
>>> .2+1.1
1.3
>>> 

python3에서는 전 버전과 다르게 기본적으로 floating point으로 결과를 냄니다.

 

나눌때, int type을 유지하기 위하여 '//' 를 이용하면 됩니다.

 

- string and character 구분하지 않음.

 single/double quotation (',")이 구분하지 않음.

 * POSIX 표준은 double quotation임  (POSIX란?! 리눅스라고 생각하시면 될듯, 엄밀히 유닉스 기준)

 

- Boolean

True, False

python에서는 0은 False이고 나머지는 다 True로 인식

 

- list : []

1) 순서가 있다. (ordered) (쓰는데로 적용됨)

2) 중복이 허용이 된다. (redundancy)

3) 변경이 가능하다. (mutable)

4) one member : [1]

- tuple : ()

1)  순서가 있다.

2)  중복가능

3) immutable : .count/.index

4) ,로 나열하면 자동으로 tuple이 됨.

5) one member : 1, 또는 (1,)로 표시

 

- set : {}

1) 순서가 없다. (not ordered) (알아서 순서대로 배열됨)

2) 중복이 안된다. (non-redundant)

3) 변경이 가능하다 (mutable)

 

- dictionary : {}

1) 순서가 없다.

2) 중복이 안된다 (key만)

3) 변경이 가능하다.

4) set은 dictionary의 key와도 같다.

 

>>> [1,2,3,2,1,2] # list
[1, 2, 3, 2, 1, 2]
>>> (1,3,2,1,2) # tuple
(1, 3, 2, 1, 2)
>>> {1,3,2,4,1} # set
{1, 2, 3, 4}
>>> {1:'123',3:'123',5:'123',2:'123',5:'321'} # dictionary
{1: '123', 3: '123', 5: '321', 2: '123'}
>>> 

 

python의 특이한 점 중 하나는 0-based counting (0부터 숫자를 세기 시작함)

아닌경우: R, perl, matlab (1-based counting)

 


잘 보셧다면 주변 광고 한번씩만 클릭 부탁드립니다! 감사합니다!

728x90
반응형

댓글