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