Before 2020/책 리뷰 및 공부

파이썬 알고리즘을 위한 첫번째 책 '컴퓨터 사이언스 부트캠프with파이썬' 양태환 저

부루기 2020. 1. 23. 11:52
728x90
  • 책 사진


  • 책을 읽게된 동기

사실 알고리즘에 관해 볼려고 이 책을 집어든 것은 아니다. 책 커리어스킬에서 부트캠프를 통해 단기간에 실전 코딩을 배울수 있다는 말에 끌리게 되었다. 그리고 책의 내용을 조금 보니 파이썬의 기초 이후로는 알고리즘과 2학년에 배울 자료구조를 조금 다루고 있기에 책을 고른 결정적인 이유가 되었다.


  • 책에서 얻을 만한 정보

32비트와 64비트의 차이

컴퓨터가 데이터처리를 할 수 있는 비트수를 의미한다.

파이썬 다른 언어와 다르게 변수가 상수로 저장되는 것이 아닌 int라는 클래스의 객체로 저장된다.

파이썬의 변수 주소는 16진수로 표현한다. 왜냐하면 짧게 표현할 수 있기 때문이다.

2진수 0b
16진수 0x

음의정수를 표현할때는 보수를 사용한다. 왜냐하면 첫번째는 +0,-0의 차이가 생긴다. 두번째는 보수를 사용하면 뺄셈도 덧셈으로 계산할 수 있기때문이다.

부동소수점은 실수를 표현할때 소수점이 다양한 곳에 둥둥떠다니는 것처럼 보이기에 부동 소수점이라는 명칭이 붙음

정규화란? 소수점 왼쪽에 위치한 가수 부분을 밑수보다 작은 자연수가 되도록 만드는 것이다. 2진수를 정규화한다면 소수점의 밑수는 2이기에 항상 왼쪽부분은 1이 된다. ex) 111.11 == 1.1111*2^2

엡실론이란? 실수 자료형에서 1.0과 그 다음으로 표현 가능한 수사이의 차이를 말한다.

단정도(single-precision) 32비트=4바이트
배정도(double-precision 64비트=8바이트

정밀도에 관한 내용을 정확히 이해하지는 못했지만 정리해보자면 파이썬에서 담을공간이 부족해 누락이 생겨 오차가 생기거나 엡실론보다 작은값은 계산하지 않는 경우에 단순한 계산에서도 문제가 발생할 수 있다는 것이다.

람다함수란? 이름이 없는 함수이다. 람다함수는 반드시 식만 사용해야한다.

f= lamda s:s**2
f(2)

dictionary comprehension 이란? 딕셔너리를 쉽게 생성할 수 있는 방법이다.

tu_li=[('a',97 ),('b',98),('c',98)]
dic={k:c for k,c in tu_li}
print(dic)

절차지향 프로그래밍= 함수를 사용해 정리한 프로그래밍-> 이프로그램이 무슨 일을 하는지 알려준다.

객체지향 프로그래밍= 현실 세계를 모델링하거나 프로그램을 구현하는 데 이처럼 변수와 함수를 가진 객체를 이용하는것이다.

메세지 패싱이란? 서로 다른 객체가 함수를 호출을 통해 상호작용하여 객체의 상태가 변하는 것

함수의 이름중에서 __으로 시작하는 것들은 파이썬에서 이미 존재하는 것을 의미한다.

 


  • 책의 총평

책을 완전히 이해하지 못해 총평을 내리기는 어렵지만 수박 겉핥기 식으로 말해본다면 짜임새 있는 책이였다고 생각한다. 파이썬에 관한 책을 기웃기웃 보고 느꼈던 아쉬움들을 여기서 많이 풀어냈다.


  • 다음 책

이 책을 이후로는 파이썬의 딥러닝에 관한 책을 볼 생각이다. '딥러닝 워크북'을 첫 딥러닝의 시작으로 해볼 생각이다.

728x90