Hello IT 파이썬을 제대로 활용해보려고 해 - 파이썬 설치부터 업무자동화, 웹페이지 제작, 데이터 크롤링까지
최용.스타트코딩 지음 / 패스트캠퍼스 / 2022년 12월
평점 :
절판


다양한 예제를 통한 파이썬 코딩을 배워보자

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
Hello IT 파이썬을 제대로 활용해보려고 해 - 파이썬 설치부터 업무자동화, 웹페이지 제작, 데이터 크롤링까지
최용.스타트코딩 지음 / 패스트캠퍼스 / 2022년 12월
평점 :
절판





2025년부터 정규 교과목에 포함될 예정인 코딩은 몇 년전부터 열풍이 불었다. 특히 코로나 이후 비대면 작업 및 자동화 설비, 재택 근무등의 수요로 인하여 온라인 IT 에 대한 서비스의 필요성은 날이 갈수록 늘어나고 있다. 일단 코딩 coding에 대한 이해가 필요한데 이것의 사전적 의미는 '알고리즘을 컴퓨터가 이해할 수 있는 언어로 바꾸어 컴퓨터에 입력하는 작업' 을 의미한다. 컴퓨터가 알아들을 수 있도록 입력한다는 것, 즉 프로그래밍 작업을 말한다.

우리가 실제 살아가는 세상에서도 여러가지 언어가 사용되듯이 코딩의 세계에도 여러가지 코딩 언어들이 있다. 그 중 하나가 파이썬 Python 인 것이고 파이썬이 최근 몇년간 각광받고 있는 여러가지 이유들을 살펴보면 다음과 같다.

- 파이썬 Python 의 장점

1) 쉬운 문법 : 상대적으로 이전의 (대표적 : C언어) 코딩 언어들에 비해 단순하다.

2) 엄청난 인기 : world wide rank 1위에 달하는 (27.6% share) 프로그래밍 언어. 인기가 많고 파이썬을 배우는 사람이 많다는 것은 학습할 자료도 풍부하다는 것을 의미한다.

3) 뛰어난 범용성 : 파이썬이 활용될 수 있는 분야 (크롤링, 업무 자동화, 백엔드 개발, 데이터 분석, 인공지능)

Chapter 01. 파이썬 시작하기

- 프로그램의 설치 : http://python.org

- 리스트 (list) : len (), remofe ()

- 인터프리터와 컴파일러

1) 인터프리터 interpret : 한 마디 한 마디 코딩을 입력할때마다 동시 통역해 주는 것 - 파이썬 으로 대화식은 사용이 쉽고 간단하다. 대화식은 파이썬의 문법을 배우고 연습하거나 복잡한 프로그램 작성 전 작은 부분을 테스트할 때도 사용하기 편리하다.

2) 컴파일 complie : 처음부터 끝까지 듣고나서 한꺼번에 바꾸어 주는 것 - 파이썬셸

Chapter 02. 제어하기

- 프로그래밍의 핵심 요소인 분기반복의 파이썬에서 사용

분기문 : 갈림길 또는 조건에 의해서 하나를 선택해야 하는 경우가 생기는데 조건에 의해 특정 동작을 실행이 결정되는 명령어

- 파이썬의 조건문

if / else / elif

== 연산자 : 예시) c == d 의 의미는 C와 D의 값이 같은가?

- 파이썬의 목적문

for / range ()

Chapter 03. 함수

함수는 처음부터 파이썬에서 제공해 주는 것도 있고, 필요한 것을 직접 만들어 쓸 수 도 있다. 핵심은 '함수에 특정 값을 넣으면 함수는 계산된 값을 돌려준다' 는 개념이다.

- len() : 리스트에 들어 있는 원소 개수

- 반환문 : 함수에 변수x를 집어넣으면 계산되어 변수y 값을 돌려주는 것

- 지역변수 : 함수 안에서 만들어진 변수, 함수가 호출되면 만들어져서 실행이 끝나면 없어짐

- 전역변수 : 함수 밖에서 만들어진 변수, 함수와 관계없이 남아있음 (=global)

- 람다 lambda 형식 : map(), filter(), reduce()



Chapter 04. 데이터 타입

- 파이썬의 자료형 : 숫자 numbers, 시퀀스 sequence, 매핑 mapping

1) 숫자를 나타내는 자료형 : 정수 int, 부동 소수점수 float, 복소수 complex

2) 시퀀스를 나타내는 자료형 : 문자열 str, 리스트 list, 튜플 tuple

3) 매핑을 나타내는 자료혀 : 키 key 와 값 value 의 짝으로 이루어지는 형태

기타) 불 bool : 참 거짓을 표현하는 방법

- 문자열과 리스트

문자열 데이터 (String) : 문자의 나열

자주 사용하는 문자열 함수

1) find( ) : 특정 문자열이 문자열 안에 존재하는지, 존재한다면 어디에 존재하는지 알려주는 함수

2) split( ) : 문자열을 나눌 때 사용

예) split(':') 라면 문자열을 : 을 기준으로 자르는 것을 의미

3) replace ( ) : 문자열에서 특정 문자열을 찾아서 만약 있다면 해당 문자열을 원하는 문자열로 바꿔주는 함수

예) replace("ABC","DEF") : 문자열에서 ABC를 찾아서 DEF로 바꾸라는 의미

4) count ( ) : 전체 문자열에서 특정 문자열이 몇 번 출현하는지 그 수를 리턴하는 함수

문자열을 리스트로 바꾸기

숫자를 문자열로 바꾸기 / 문자열을 숫자로 바꾸기

- 딕셔너리 (Dictionary : dict)

딕셔너리는 이름과 같이 사전처럼 되어 있는 자료 구조 (데이터를 컴퓨터가 처리할 수 있게끔 표현하는 방식). 딕셔너리는 { } 함수로 만든다. 리스트나 문자열과 구별되는 딕셔너리의 특징은 순서가 없다는 것. 문자열과 리스트와는 달리 딕셔너리는 숫자 인덱스로 접근할 수가 없다.

Chapter 05. 모듈 (Module)

- 모듈 (Module) : 다른 사람이 만들어 놓은 프로그램 꾸러미로, 이것을 잘 활용하면 프로그램을 쉽고 빠르게 개발할 수 있습니다.

1) math 모듈

2) calander 모듈

3) tkinter 모듈

- 모듈 가져오기

import 모듈

from 모듈 import 이름

- 여러가지 모듈

1) sys : 파이썬 인터프리터를 제어할 수 있는 방법을 제공함

2) OS : 운영체제 (OS : Operating System) 을 제어할 수 있음

3) re : 정규 표현식을 이용해 문자열을 다루는 방법

Chapter 06. 파일

- 텍스트 파일

- 한 줄씩 다루기

- 파일을 입맛대로 다루기

1) pickle

2) glob

3) os. path



Chapter 07. 객체 지향

- 객체 지향 (objec-oriented) 의 이해

객체 지향 프로그래밍에서는 프로그램을 작성할 대상이 되는 실제 세계의 사물(객체)을 그대로 표현하고, 그것들이 어떻게 움직이는지 정해주고 나서야 비로소 그 객체들에게 일을 시키게 된다. 객체 지향 프로그래밍을 잘 사용하면 보다 좋은 프로그램을 빨리 만들어 낼 수 있고, 나중에 수정하기도 편리하다.

- 클래스 (class)

실제 세계에 존재하는 실체(instance)를 객체(object) 라고 하고, 객체들의 공통점을 간추려서 개념적으로 나타낸 것

- 상속 (inheritance)

어떤 클래스가 다른 클래스의 성질을 물려받는 것으로 어떤 클래스를 만들 때 처음부터 모든 것을 새로 만들 필요 없이, 핵심적인 성질을 가지고 있는 다른 클로스로부터 상속받아 조금만 손보면 쓸 만한 클래스를 만들 수 있다.

- 특별한 매서드들

1) _init_ 매서드(초기화)

2) _del_ 메서드(소멸자)

3) _repr_ 메서드(프린팅)

4) _add_ 메서드(덧셈)

5) _it_메서드(비교)

Chapter 08. 예외 발생과 예외 처리

- 예외 (exception) 발생

- 예외 (exception) 처리

Chapter 09. 테스팅과 성능

- 테스팅

1) 주어진 연도가 윤년인지 아닌지를 반환하는 함수

2) 유닛테스트 작성과 실행

3) 테스트 추가

4) 테스트 범위

- 프로그램 실행 시간 측정하기

1) time.process_time()

2) sys.path.append()

3) importlib.import_module()

Chapter 10. 파이썬 실전! 프로그래밍 시작하기

- 파이썬의 활동 분야

1) 크롤링 (crawling) : 컴퓨터가 웹상의 데이터를 수집하는 것

2) 업무자동화 : 반복적인 업무를 컴퓨터가 대한 하도록 만드는 것

3) 백엔드 개발 (Back-end) : 웹사이트에서 사용자가 보지 못하는 서버나 데이터 베이스를 관리하는 기술로 이 기술을 이용하여 사용자들로부터 받은 데이터를 가공해 데이터베이스에 저장하거나 필요할 때 꺼내오는 프로그램을 만듭니다

4) 데이터 분석 : 많은 양의 데이터로부터 유의미한 결과를 도출해 내는 과정

5) 인공지능 : 기계가 스스로 학습을 해서 인간의 업무를 대신해 주는 것

(대표적 파이썬 라이브러리 Scikit-learn, TensorFlow 등)

몇년 전부터 자바, C 언어 이후 배우기 쉽고 사용자 편의성이 좋은 파이썬에 대한 관심이 많다. 꼭 프로그램을 업무상 사용해야 하는 사람이 아니더라도 반복적인 작업을 대신하거나 간단한 프로그램을 직접 만들어 업무에 이용하려는 사람들이라면 컴퓨터 프로그래밍 언어를 배우는 건 또다른 업무 효율성을 극대화시키는 수단이 된다고 생각한다. 사실 이미 나온 어플을 비롯한 프로그램들 사용하는 이용자와 이를 만들어내는 개발자는 완전히 다른 입장에 놓이게 된다.


입문자의 경우 많은 예제를 접하고 하나의 프로그램을 짜기 위해 개발하기 위해 고민하는 시간이 필수적이다. 풍부하고 다양한 예제를 많이 소개하고 각 챕터마다 문제를 통해 생각하는 힘을 키워주는 문항들이 많아서 좋았다. 다만 그러한 문제들이 입문하는 초심자의 경우 다소 어렵게 느껴질 수 있다 (각 챕트별 기본 개념과 함수에 대한 설명은 부족한편). 기본 입문서를 접한 이후 다양한 예제를 통해 중급으로 넘어가려는 분들에게 적합한 교재라 생각한다.





댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
초등 독서평설 2022.12 초등 독서평설 2022년 12월호
지학사 편집부 지음 / 지학사(잡지) / 2022년 12월
평점 :
품절





늘 소개하고자 하는 책은 독서평설 시리즈 중 초등 독서평설 (2022년 12월호) 이다. 독서의 재미와 함께 교육적이고 유익한 사회 시사적인 내용까지 간추려 제공하기에, 예전부터 아이들에게 가끔씩 보여주던 책을 서평의 기회로 또 다시 만나게 되었다. 12월 겨울이라는 계절에 맞게 이번 호의 특집은 '옛사람에게 배우는 겨울나기' 기사이다. 어떻게 겨울을 났는가에 대한 먹거리, 난방, 입을거리 등 의식주와 즐길거리들을 소개해주고 있다. 요즘은 상상하지도 못할 과거의 먹거리와 생활들이지만 언제나 현재를 거슬러 과거를 반추해 보는 것은 그 나름의 의미가 있다고 생각한다.



이외의 다른 기사들을 한번 살펴보면 다음과 같다.

- 진로 + 창의 파트

문화탐방 : 너희는 기적이다

우당탕탕 베이킹 클래스

독평이 만난 사람 : 양말 인형 제작가 박정림

오늘은 내가 요리사 : 입에서 사르르 녹는 고구마 죽

영재 수학 퀴즈 : 자동차 번호판의 개수

우리 모두에게 치어스!

나를 표현하는 이모티콘 만들기 : 행복한 마음 표현하기

- 통합 사회

뉴스 톡톡 : 핼러윈의 비극, 10.29 참사 외

우리는 에코 히어로 : 신들의 땅에 보내는 지구의 경고

머리에 쏙쏙 들어오는 경제 : 물건의 가격은 왜 변할까요? - 수요와 공급, 가격

질문하는 한국사 : 선죽교에는 정말 정몽주의 핏자국이 남아 있을까?

세계 도시 탐험 : 음악의 도시 , 빈

인물로 알아보는 세계사 : 영락제와 정화, 세계 최초 아프리카를 원정하다

- 통합 과학

신비한 과학사전 : 매우 반짝이는 건, 루돌프의 눈?

생활속 화학 반응 : 꽁꽁 언 빙판을 녹여라

천문학 교실 : 우주는 끝이 있을까요?

미래 과학 뉴스 : 현실과 가상 세계 넘나드는 미래 사회 온다

발명 이야기 : 카메라는 어떻게 사진을 찍을까?

이슈 중 하나는 할로윈 사고로 인한 기사였다. 서울 이태원에 군중들이 모여 150명이 넘는 사람들이 사고사를 당한 사건에 대한 현상에 대한 기사 소개에만 그치는게 아쉬웠다. 경찰서와 자치단체의 관리에 아쉬운 부분을 지적하고 밀집된 군중속에서 어떻게 빠져나와야 할지 짤막한 언급은 있지만 왜 할로윈을 우리가 받아들여야 하는지? 왜 젊은 사람들이 할로윈 문화에 열광하는지? 할로윈은 외국 현지에서는 어떻게 받아들여지고 보내고 있는지? 한번쯤 뒤돌아보는 장으로 만들었으면 좋았을거란 아쉬움이 남는다. (실상을 안다면 아이들에게 충격일까 싶어서 이정도로 다루는건 아닐까 싶기도 하다)



통합 과학에서 메타버스란 무엇이며 이로 인한 미래의 발전과 그 이면에 숨은 사회적 부작용까지 다룬 기사는 개인적으로 인상 깊게 느껴졌다. 가상 우주라는 말처럼 현실과 동조되어 우리가 실제로 경험하기 힘든 가상의 현실 혹은 공간과 시간을 거슬러 편하게(?) 체험을 해 볼 수 있다는 이점도 있지만 반면에 메타버스로 인한 현실속 낙오자들의 발생에 대해서도 무시해서는 안되겠다. 과학은 언제나 한계를 넘는 생각과 동시에 반성적인 사고가 가능해야 인류에게 이바지 할 수 있다는 개인적인 철학에서 나온 느낌이다.

예전에 내가 고등학생 시절 독서 토론 동아리에서 활동하며, 친구들과 독서평설을 돌려보며 토론도 하고 거기에서 나온 이야기들을 주제삼아 논술 준비를 했던 기억이 난다. 그때의 학생 시절의 내가 이제는 중년의 나이로 접어들어 아이들에게 그 책을 읽어줄 만큼의 세월이 지났다니 감회가 새롭다. 또한 좋은 책은 변하지 않고 계속이어지고, 그래야 한다는 생각이 든다. 30년이 넘는 세월의 무게만큼 앞으로도 좋은 내용과 주제들로 사람들에게 길이 길이 남을 월간 독서평설이 되길 바란다.





댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
초등 독서평설 2022.12 초등 독서평설 2022년 12월호
지학사 편집부 지음 / 지학사(잡지) / 2022년 12월
평점 :
품절


독서의 습관화, 독서의 힘을 키우기 위한 어린이 잡지

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
TV생물도감의 희귀한 생물 대백과 - 신기함 주의! 입이 떡 벌어지는 생물 총집합! 체험하는 바이킹 시리즈
TV생물도감 지음, 구연산 그림 / 바이킹 / 2022년 12월
평점 :
장바구니담기





튜브속 흥미로운 개인 방송들을 통해 우리는 이전과 비교할 수 없을 만큼의 막대하고 생생한 정보와 지식들을 얻고 있다. 뿐만 아니라 새로운 간접적 체험까지 가능하니 우리는 그 어느때 보다 원하는 지식들을 골라서 바로바로 습득할 수 있는 편리한 세상 속에서 살아가고 있다. (물론 부작용도 있겠지만) 오늘은 유튜브 속 많은 인기 채널들 중에서 희귀한 생물을 소재로 하여 많은 사람들에게 영감을 주고 있는 TV 생물도감의 이야기를 해볼까 한다.

총 51종의 동물들을 소개하는데 각 장마다 실제의 사진과 그림, 특징들을 잘 살려 한눈에 들어오기 쉬우면서도 재미있는 만화적 표현들로 구성되어 있다. 차칫 설명이 길어지게 되면서 지루해 질 수 있는 부분들을 최대한 줄이기 위해 1장의 주어진 지면을 최대한 활용해서 설명하고, 각각의 챕터 이후 생물들의 환경 및 여러 이슈들을 다루며 자칫 지루해지지 않을까 짜임새 있게 포인트를 주었다.

책을 읽으며 흥미로웠던 몇몇의 생물들을 소개해보고자 한다.



- 폼폼 크랩 (Pompom crab)

폼폼 크랩은 인도양, 태평양 등 열대 해역의 얕은 바다에 사는 십각목 부채게과에 속한다. 흥미로운 것들이 몸체도 작고 생태계에서 하위 포식자로서 살아 갈 수밖에 없는 종족이지만 주변의 다른 생물 (말미잘)을 이용하여 최대한 본인들에게 주어진 환경들을 극복하고자 했다는 점이다. 말미잘의 촉수를 이용하여 본인의 생존에 적절히 이용했다는 점, 그리고 자기들끼리 말미잘을 두고 경쟁하거나 혹은 빼앗겼을 때 남은 말미잘을 나누어 다시 사용한다는 것. 도구로서 다른 종을 이용하는 동물이 유인원을 비롯한 고등 동물에만 속하는 것은 아니었구나. 작은 바다 생물이라도 본능적으로 생존을 위해 진화를 하며, 말미잘을 흔들어 본인 스스로가 말미잘처럼 보이게 하려는 의도적인 행동 (의태 행동) 을 한다는 것이 신선했다.



- 프로그 피쉬 (Warty frogfish)

이 물고기는 말그대로 개구리를 닮았다고 해서 프로그 (frog) 라는 이름이 붙었다고 한다. 행동역시 특이한데 헤엄을 치면서 다닌다기 보다는 지느러미를 팔처럼 사용해 바닥에 딱 붙어있어 빠른 물살에도 떠내려가지 않는다고 한다. 특이한 것은 살아있는 먹이만 먹는 뛰어난 육식 물고기인데, 아귀처럼 유인돌기 (등지느러미의 등뼈가 변형되어 생긴)로 유인한 다음에 평소보다 12배나 커질 수 있는 입으로 삼켜 소화를 한다고 한다. 또한 느린 움직임을 커버하기 위해서 주변환경과 비슷한 색으로 위장할 수 있는 능력까지 있다. 비늘과 지느러미를 이용해 헤엄을 치고 물에 적응하여 살아가게된 대부분의 물고기들과는 달리, 반대로 진화하여 포식자가 된 물고기라는 생각이 들었다. 자연에서도 역시 다른 종족이 진화하지 않은 쪽으로의 역발상적인 변화가 그 종족에게는 또 다른 기회가 될수도 있음을 느꼈다.



- 바티노무스 기간테우스 (Giant isopod)

이름도 특이한 이 심해 생물은 지구에서 가장 큰 심해 등각류 1억 6천만년 전부터 지금까지 살아왔다. 단단한 외골격으로 이루어져 있고 어떻게 보면 공벌레와도 닮은 모습인데 심해에서 사는 까닭에 시력은 거의 없지만 더듬이 두쌍을 이용하여 사물을 감별한다고 한다. 인류의 탄생이 있기 훨씬 오래전부터 생존해왔던 이러한 생물의 생명력은 어디에 있는 걸까? 가끔씩 고대로부터 지금까지 남은 생물들에 대한 궁금증과 동시에 생명에 대한 존경심도 생긴다. 어쩌면 우리는 지구를 떠나 화성으로의 여행보다 지구의 70%를 차지하는 바다로의 여행이 더욱더 현실적인 과제일지도 모르겠다.

바다 생물 이외에도 다양한 생물들의 소개가 되어있고, 특히 동영상을 볼 수 있는 QR 코드 또한 기재되어 있어 유튜브와 연계할 수 있다. 지면으로 읽은 동물들의 움직임과 생김새를 생생하게 확인할 수 있는 점 또한 이 책의 장점이라는 생각이 들었다. 희귀한 동물에 대한 궁금증과 호기심은 비단 유년 시절의 추억이 아니라 어찌보면 우리들의 본능적인 미지의 생명체 대한 자세가 아닐까?





댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo