스크랩

구간

엔지니어를 위한 파이썬 개발 기초, 필수 라이브러리, 그리고 고속화

원제 : 科学技術計算のためのPython入門

나카쿠키 켄지 저 | 심효섭 역 | 제이펍 | 2017년 11월

미리보기 북트리

정가
$56.00
판매가
$45.36 (19%↓) 최저가 보상
적립금
$0.91 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
재고수
인터넷(1)
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791188621026 / 484쪽 170 x 227 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

반디앤루니스 리뷰

과학 기술 컴퓨팅을 위한 파이썬 프로그래밍!
연구와 개발을 위한 기본 문법과 실전 테크닉!


이 책은 과학 기술 컴퓨팅에서 파이썬이 지니는 매력을 많은 사람에게 알리고자 집필하였습니다. 파이썬의 언어 스펙뿐만 아니라 주요 라이브러리의 사용법과 고속 처리를 위해 필요한 기초 지식 및 실무 기법을 함께 소개하였기에 실용성 또한 뛰어날 것입니다. 또한, 파이썬을 처음 배우는 분들을 위해 그림이나 표를 이용하여 쉽게 설명하는 데도 중점을 두었습니다. 이 책을 통해 좀 더 많은 독자가 파이썬을 알게 되고, 독자 여러분의 기술력 향상에 조금이라도 기여하게 된다면 더할 나위 없이 기쁠 것입니다.

 

출판사 리뷰

과학 기술 컴퓨팅을 위한 파이썬 프로그래밍! 연구와 개발을 위한 기본 문법과 실전 테크닉! 이 책에서는 파이썬 언어 스펙과 기본적인 내용에 더해 연구 개발 분야에서 파이썬이 어떻게 쓰이는가에 중점을 두고 파이썬을 소개합니다. 주로 이공계 학생이나 엔지니어들이 파이썬의 생태계를 활용하여 효율적인 연구, 개발을 하는 데 도움이 되는 구성으로 이뤄져 있습니다. 이 책의 대상 독자 ● 파이썬이 어떤 언어인지, 어떤 일을 할 수 있는지 배우고 싶은 분 ● 파이썬으로 과학 기술 컴퓨팅을 수행하려는 분 ● 파이썬 고성능 프로그... 과학 기술 컴퓨팅을 위한 파이썬 프로그래밍! 연구와 개발을 위한 기본 문법과 실전 테크닉! 이 책에서는 파이썬 언어 스펙과 기본적인 내용에 더해 연구 개발 분야에서 파이썬이 어떻게 쓰이는가에 중점을 두고 파이썬을 소개합니다. 주로 이공계 학생이나 엔지니어들이 파이썬의 생태계를 활용하여 효율적인 연구, 개발을 하는 데 도움이 되는 구성으로 이뤄져 있습니다. 이 책의 대상 독자 ● 파이썬이 어떤 언어인지, 어떤 일을 할 수 있는지 배우고 싶은 분 ● 파이썬으로 과학 기술 컴퓨팅을 수행하려는 분 ● 파이썬 고성능 프로그래밍의 기초를 배우고 싶은 분 ● 파이썬의 문법뿐만 아니라 실제 프로그래밍 작성법을 배우고 싶은 분

저자 소개

도쿄대학교 우주공학과와 동 대학원을 졸업하고 미쓰비시 전기에 입사하여 공기역학/항법/제어 설계의 엔지니어로서 여러 업무를 맡고 있다. GPS 활용 기술에 능숙한 ‘범지구위성항법학회’의 정회원이다. 연구/개발에 C 언어, 매트랩, 펄 등의 언어를 사용하고 있지만, 파이썬의 에코 시스템을 충실히 따르면서 업무에 파이썬을 활용하는 데도 힘쓰고 있다.

역자 소개

연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하게 되면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 기계 학습에 대한 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고도 지속 가능한 삶이다. 옮긴 책으로 『딥러닝 제대로 시작하기』, 『그림과 수식으로 배우는 통통 딥러닝』이 있다.

책 속에서

이용자 수가 적은 도구는 나중에 지원이 중단될 우려도 있고, 그 도구를 사용하기 위한 노하우 역시 얻기 어렵다는 문제가 있다. 파이썬의 이용 실적은 아직 C/C++, Fortran, MATLAB 등에 비해 떨어지지만 유럽이나 미국을 중심으로 과학 기술 컴퓨팅에 사용하고 있는 사용자 수가 최근 급격히 증가하고 있다는 것을 1.1절에서 소개한 바 있다. 이 책에서도 소개할 NumPy, SciPy, matplotlib, pandas 등이 개발되어 널리 쓰이게 되면서 보급이 한층 더 순풍을 타고 있다. _18p

통합 개발 환경인 Spyder(3.2절 참조)에서도 그림 2.7에서 보듯 정적 코드 분석을 수행할 수 있다. Spyder에는 Pyflakes와 pep8로 분석한 결과를 에디터에 표시해주는 기능이 있다. 이 분석은 미리 지정한 시간만큼 간격을 두고 자동으로 실행되므로 거의 실시간으로 코드의 잠재적 오류를 확인할 수 있다. 또 pylint를 사용한 결과를 수동으로 표시하는 것도 가능하다. _51

Spyder에는 여기에 더해 프로그램이 앞에 설명한 PEP 8을 준수하고 있는지를 확인하는 기능도 있다. 파이썬은 언어 스펙의 특성상 들여쓰기에도 의미를 부여하고 있기 때문에 가독성이 뛰어나다는 장점이 있다. 또 PEP 8을 준수하여 코드를 작성하는 것으로 더욱더 가독성을 향상시킬 수 있다. 프로그래밍에는 처음부터 끝까지 혼자 작성하기보다는 전에 작성한 프로그램 혹은 다른 사람이 작성한 프로그램을 읽는 시간이 더 많을 때가 많다. 이 때문에 모든 사람이 같은 규약을 따라 프로그램을 작성하여 서로가 작성한 프로그램을 쉽게 이해할 수 있도록 하는 것이 중요하다. _109

일부 오류가 있을 수도 있지만 간단하게 설명하면 얕은 복사란 ‘참조만 복사’하고, 깊은 복사는 ‘데이터까지 완전히 복사’하는 것이라고 할 수 있다. 대부분의 경우 복사라고 할 때는 깊은 복사를 말한다. 얕은 복사는 혼란의 원인이 되기 쉬우므로 의도적으로 사용하는 경우 이외에는 사용하지 않는 것이 무난하다. 이번 절에서는 가변형인 객체에 대한 할당 혹은 데이터를 변경하는 구체적인 예를 살펴보며 얕은 복사와 깊은 복사가 무엇인지 자세히 보도록 하자. _154p

이번 장에서는 소위 객체지향 프로그래밍의 대들보라 할 수 있는 메커니즘인 클래스를 사용하는 방법에 대해 알아봤다. 파이썬은 데이터 및 함수를 모두 객체로 다루고 있는데 이 객체에 대한 설계도 역할을 하는 것이 ‘클래스’다. 클래스와 객체지향 프로그래밍은 매우 깊이 있는 주제로, 이 책에서 본격적인 내용까지는 다루지 못했지만 파이썬의 클래스가 갖는 특징에 대해서는 이해하기 쉽도록 코드와 함께 설명했다. 이번 장에서 배운 내용을 활용하여 구조를 이해하기 쉬운 프로그램 코드를 작성할 수 있도록 하자. _210

과학 기술 컴퓨팅 분야에서 NumPy는 다른 많은 라이브러리의 기초를 이루고 있으므로 NumPy를 이해하고 이를 기본적인 수준에서 능숙하게 사용하는 것은 이제 필수라고 할 수 있다. NumPy에서는 고속 처리와 다른 언어와의 인터페이싱을 고려한 메모리 사용 전략을 취하고 있기 때문에 불필요한 메모리 복사가 일어나지 않도록 뷰라는 개념을 도입했다. 여기에 더해 유니버설 함수나 브로드캐스팅 등의 개념도 도입하여 파이썬의 기능을 대폭 확장했다. 이들 개념에 익숙해지면 프로그래밍 효율이 크게 향상될 것이므로 이번 장에서 소개한 내용을 확실히 이해해두기를 권하고 싶다. _278p

 

목차

CHAPTER 1 과학 기술 컴퓨팅과 파이썬 1
1.1 데이터로 살펴보는 파이썬의 현재 3
1.2 파이썬 기초 지식 8
1.3 과학 기술 컴퓨팅과 파이썬의 관계 17
1.4 정리 31
CHAPTER 2 제로부터 시작하는시뮬레이터 개발 33
2.1 시뮬레이터 설계하기 35
2.2 기능 분할과 파일 분할 37
2.3 프로그램 작성 40
2.4 정적 코드 분석 50
2.5 단위 테스트 52
2.6 디버깅 61
2.7 프로그램의 최적화 67
2.8 정리 73
CHAPTER 3 IPython과 Spyder 75
3.1 IPython 77
3.2 Spyder 106
3.3 정리 114
CHAPTER 4 파이썬의 기초 115
4.1 작성 스타일 117
4.2 객체와 데이터 타입 124
4.3 연속열형 조작하기 136
4.4 집합 타입과 딕셔너리 타입의 조작 142
4.5 변수와 데이터 145
4.6 얕은 복사와 깊은 복사 154
4.7 연산자와 평가식 158
4.8 흐름 제어 162
4.9 함수 정의하기 170
4.10 모듈과 패키지 179
4.11 네임스페이스와 유효 범위 185
4.12 정리 191
CHAPTER 5 클래스와 객체의 기초 193
5.1 클래스 정의 195
5.2 상속 200
5.3 스태틱 메서드와 클래스 메서드 202
5.4 정보를 은폐하는 방법 204
5.5 클래스와 네임스페이스 206
5.6 정리 210
CHAPTER 6 입력과 출력 211
6.1 콘솔 입출력 213
6.2 파일 입출력의 기본 214
6.3 데이터 파일 입출력하기 217
6.4 pandas의 데이터 입출력 기능 232
6.5 웹상의 정보를 입력받기 242
6.6 정리 244
CHAPTER 7 NumPy 245
7.1 NumPy란? 247
7.2 NumPy의 데이터 타입 251
7.3 다차원 배열 객체 ndarray 254
7.4 유니버설 함수 272
7.5 브로드캐스팅 274
7.6 정리 278
CHAPTER 8 SciPy 279
8.1 SciPy란? 281
8.2 SciPy 활용하기 285
8.3 정리 298
CHAPTER 9 matplotlib 299
9.1 matplotlib이란? 301
9.2 matplotlib 설정하기 304
9.3 matplotlib 활용하기 312
9.4 그 외의 그리기 툴 323
9.5 정리 324
CHAPTER 10 pandas 325
10.1 pandas란? 327
10.2 pandas의 데이터 타입 329
10.3 데이터 처리하기 338
10.4 정리 362
CHAPTER 11 프로그램 최적화 365
11.1 프로그램 최적화의 기본 367
11.2 병목 해소 368
11.3 병렬 처리하기 381
11.4 정리 392
CHAPTER 12 프로그램 최적화 ― 응용 예 393
12.1 고속 라이브러리 활용하기 395
12.2 JIT 컴파일러 사용하기 406
12.3 정리 417
APPENDIX 419
A 참고 문헌 & 학습 자료 421
B 내장 함수와 표준 라이브러리 424
C NumPy 함수의 레퍼런스 429

top