본문 바로가기

밑바닥부터 시작하는 딥러닝

1. 파이썬 기초

방학 때 딥러닝에 대해 공부를 하려 하는데,

파이썬이라는 언어를 처음 배워 복습하려 한다.

나는 Google의 Colab을 사용한다.

 설치하지 않아도 되고, 빠른 장점이 있다.

 

 

1. 파이썬의 산술 연산

다른 언어와 같이 + 는 더하기, - 는 빼기, *는 곱하기 이다.

C와 다르게 /는 나누기의 결과 값이 몫이 아니라, 우리가 아는 그 나눗셈의 결과임에 주의 한다.

// 이 몫을 구하는 산술 연산자이다.

** 는 거듭제곱을 의미한다.

>>> 1 + 2 
3
>>> 1 - 3
-1
>>> 5 / 2
2.5
>>> 3 / 2
0
>>> 3 ** 2
9

2. 자료형

type() 함수를 이용해 데이터의 자료형을 알 수 있다.

이 때 int는 정수, float는 실수, str은 문자열 형을 의미한다.

>>> type(0)
<class 'int'>
>>> type(3.14)
<class 'float'>
>>> type("hello")
<class 'str'>

3. 변수

x, y 등으로 변수를 정의할 수 있다.

파이썬에서는 변수의 자료형을 정의해주지 않아도 된다!

변수를 이용해 계산, 값 대입 등이 가능하다.

>>> x = 22
>>> print(x)
22
>>> mystr = "Hello"
>>> print(mystr)
Hello
>>> type(mystr)
<class 'str'>  # mystr에 "Hello"를 저장해 mystr은 str으로 자동형변환이 일어났음을 알 수 있다.

4. 리스트

여러 데이터를 정리하는 방식인데,

리스트의 인덱스는 0번부터 시작한다.  아래 a[0]은 첫번째 원소인 1이 된다.

len()은 리스트의 길이를 출력하는 함수이다.

또한 리스트에 저장된 값을 바꿀 수도 있다.

>>> a= [1, 2, 3, 4, 5]
>>> print(a) # 리스트 내용 출력
[1, 2, 3, 4, 5]
>>> len(a) #리스트 길이 출력
5
>>> a[0] #0번째 원소에 접근
1
>>> a[4] = 100 # 값 대입
>>> print(a)
[1, 2, 3, 4, 100]

파이썬에는 슬라이싱이라는 기능이 있다.

리스트의 원하는 부분을 범위를 지정해 얻는 것이다.

리스트변수[시작 인덱스: 마지막 인덱스 다음 인덱스] 로 표기하는데,

한 부분을 생략하면 처음, 혹은 끝부터 시작한다. 

 

또한 음수를 쓰면 끝에서 | 음수 | 개 앞까지 얻어오는 것이다.

 

이 슬라이싱의 범위를 어려워하는 사람들이 있다. 나도 그랬다.

그러나 김왼손의 왼손코딩(짱!) 파이썬 기초 강의를 들으면서 

0                                     1                                         2                                         3                                     4                              

1 2 3 4 5

이렇게 인덱스를 놓는 방법이 편하다는 것을 배웠다.

가령 아래의 b[0:2]는 0번부터 2번까지 자르니까 [1, 2]가 되는 것이다.

>>> b = [1, 2, 3, 4, 5]
>>> b[0:2] # 인덱스 0번 부터 시작해 2번 시작 전까지 얻는다.
[1, 2]
>>> b[1:] # 인덱스 1번 부터 끝까지
[2, 3, 4, 5]
>>> b[:3] # 처음부터 인덱스 3번 시작 전까지
[1, 2, 3]
>>> b[:-1] # 처음부터 마지막 원소의 1개 앞까지
[1, 2, 3, 4]
>>> b[:-2] # 처음부터 마지막 원소의 2개 앞까지
[1, 2, 3]

 


오늘은 파이썬 첫 포스팅이니 여기까지 하겠다. 

다음 번에는 파이썬 기초 끝내고, 

그 다음번 부터 퍼셉트론 시작하면 될 것 같다 ><

 

 

 

출처 : 밑바닥부터 시작하는 딥러닝, 사이토 고키 저/개앞맵시(이복연) 역,

        김완손의 왼손코딩 파이썬 기초 강좌

'밑바닥부터 시작하는 딥러닝' 카테고리의 다른 글

2. 파이썬 기초 (2)  (0) 2020.08.13