목차
1. 서론
2. 개발 환경
3. 수업 내용 요약
4. 상세 내용
5. 느낀점
1. 서론
오늘의 수업은 한기영 강사님이 진행하셨다. 발음도 또렷하게 잘 들리고 속도감도 적당해서 수업이 지루하지 않고 재밌게 느껴졌다. 불필요한 것은 적당히 생략하고 중요한 것은 여러 번 반복해서 말씀해주셔서, 이미 파이썬을 잘 알고 있는 사람도 처음 파이썬 수업을 듣는 사람도 즐겁게 수업에 참여할 수 있는 수업이었다.
게시물 정리 방식은 1일차와 거의 유사하다. Git 강의와 마찬가지로 KT 에이블스쿨과 한기영 강사님의 노하우가 담긴 이 수업을 처음 파이썬을 공부하는 사람들이 참고하기를 바란다. 파이썬 언어를 배우는 순서, 필수적으로 배워야 할 내용, 중요한 문법이 무엇인지 등에 대해서 알 수 있을 것이다.
그럼 본격적으로 시작해보자고~!
2. 개발 환경
오늘의 수업은 Jupyter 환경(예: Jupyter lab, Jupyter notebook)에서 진행되었다. 기본 문법에 대한 학습을 진행하였기 때문에 별도 라이브러리를 설치할 필요는 없었다.
1일차와 마찬가지로 KT Aivle school에서 대여해 준 노트북을 활용하였다면 모두 갖춰진 환경이었을 것이다. 그러나 혹시 개인 컴퓨터로 진행했다면 Anaconda를 설치하고, Anaconda prompt에서 `pip install jupyter`를 실행하면 Jupyter 환경을 사용할 수 있을 것이다.
3. 수업 내용 요약
1. Jupyter에서 사용하는 Cell의 정의나 사용법, 단축키와 같은 Jupyter 개발 환경에 대해 배웠다.
2. Python의 자료형(리스트, 딕셔너리, 튜플)에 대하여 생성, 조회, 수정 관점에서 살펴보았다.
3. 조건식을 구성할 수 있는 여러 연산자(Bool, 비교, 논리)에 대해서 배웠다.
4. 두 가지의 반복문(for, while)을 배웠고, 서로 비교해보는 시간을 가졌다.
5. 함수를 입력부(Input), 처리부, 출력부(Output)로 나누어서 알아보고 직접 구현해보았다.
6. CRSIP-DM 개념에 대해 간단하게 살펴보고, 데이터의 종류를 살펴보았다.
4. 상세 내용
실습 코드를 모두 나열하기엔 너무 양이 많으므로 중요한 내용만 간추려서 요약 정리하였다. 이를 참고하여 아래 내용을 봐주길 바라며, 상세 코드가 필요한 사람들은 wikidocs에 무료 책들이 많으니 그런 자료들을 참고하길 바란다.
4-1. Jupyter cell의 종류
Jupyter에는 두 가지 종류의 Cell이 있다. 'Markdown cell'과 'Code cell'이다. Markdown cell은 문서를 작성할 수 있는 Cell이며 Markdown 문법을 따른다. Markdown 문법을 활용하면 여러 포맷의 텍스트를 작성할 수 있고, 링크를 넣거나 이미지를 첨부할 수도 있다. Markdown 문법에 대해서 자세히 알고 싶다면 구글에 마크다운 문법을 검색해보자.
4-2. Python의 자료형
파이썬의 자료형에는 정수형, 실수형, 문자열 등이 있지만 여러 개의 값을 넣을 수 있는 리스트, 딕셔너리, 튜플도 있다. 이렇게 여러 개의 값을 넣을 수 있는 자료형은 같은 유형의 여러 값들을 한꺼번에 저장하고 관리할 수 있어서 편리하다. 아래에는 간단하게 리스트, 딕셔너리, 튜플의 특징과 예시를 포함하였다.
이름 | 특징 | 선언 방법 | 예시 |
리스트 (List) | 여러 가지 자료형의 데이터를 한꺼번에 저장할 수 있는 자료형이다. 생성, 삭제, 수정이 가능하다. |
대괄호('[]')로 선언한다. list() 함수를 통해 선언할 수도 있다. |
arr_A = [1, '5', 7, 9.3] |
튜플 (Tuple) | 리스트와 거의 유사하나 요솟값을 변경할 수 없다. | 소괄호('()')로 선언한다. tuple() 함수를 통해 선언할 수도 있다. |
tup_B = (2, 3, '7') |
딕셔너리 (Dictionary) | key와 value 쌍으로 구성된 자료형이다. value와 value의 이름인 key가 대응 관계를 가지며, 연관 배열이라고도 부른다. | 중괄호('{}') 안에 key: value 형태로 선언한다. dict() 함수를 통해 선언할 수도 있다. 중괄호만 사용할 경우 집합(set) 자료형으로 인식되니 이를 주의하자. |
dic_C = {'name': 'mark', 'age': 23} |
4-3. 조건식을 구성하는 여러 연산자
조건식을 구성하는 연산자는 크게 Bool 연산자, 비교 연산자, 논리 연산자로 나눌 수 있다. 조건문인 if를 사용할 때 이 연산자들을 이용한 조건식과 함께 사용될 수 있다. 각 특징을 아래 표에 정리하였다.
(수업에서 한기영 강사님이 비교 연산자를 조건문이라고 언급하셨는데 나는 조건식이라고 이해하고 있어서 조금 헷갈렸지만, 다시 생각해보니 파이썬에서는 조건식만 가지고도 결과를 도출할 수 있기 때문에 조건문이라 볼 수도 있을 것 같다.)
이름 | 정의 | 종류 | 예시 |
Bool 연산자 | 어떤 조건의 결과로 참(True)과 거짓(False)으로 나뉜다. | True, False | While True: (무한 루프를 도는 반복문을 생성) |
비교 연산자 (조건식) | 두 개의 값에 대하여 대소 비교나 두 값이 같은 값인지 비교할 수 있는 연산자이다. | >, <, >=, <=, ==, != | name == '홍길동' (이름이 홍길동인가?에 대한 결과를 도출, 값은 Bool 연산자 중 하나로 출력된다.) |
논리 연산자 | 여러 조건식을 연결할 수 있는 연산자이다. | and(&), or(|), not | height<=130 and weight<80 (키가 130 이상이고 몸무게가 80미만인 값에 대한 결과를 도출, 이 또한 Bool 연산자 중 하나로 출력된다.) |
4-4. 파이썬의 두 가지 반복문과 차이점
파이썬에서 주로 사용하는 반복문은 For과 While 두 가지가 있다. For은 반복 횟수가 정해져 있을 때 사용하고, While은 반복 횟수가 정해져있지 않고 어떤 조건이 충족될 때까지 반복을 수행하고자 할 때 사용한다. 쉬운 예시를 들면 5층 별 탑을 쌓기 위해 5번 print문을 반복하려고 한다면 for문이 적절하겠다. 그러나 사용자가 이길 때까지 가위바위보를 반복한다면 while이 적절할 것이다.
4-5. 함수에서 여러 개의 값을 입력하고 반환하는 방법
입력부에서 여러 개의 값을 동시에 받고자 한다면 입력을 전달 받는 매개변수 앞에 *을 붙인다. 예를 들면 def cal(*nums)와 같은 형태로 사용할 수 있다. 출력부에서 여러 값을 동시에 반환하고자 한다면 전달할 값을 콤마로 연결해서 전달하면 된다. 그러면 튜플 형태로 묶여서 전달된다.
4-6. CRISP-DM(Cross-Industry Standard Process for Data Mining)이란?
채팅에서 다른 에이블러님이 CRSIP-DM이 Cross-Industry Standard Process for Data Mining라는 것을 알려주셨다. 감사합니다🤩
CRISP-DM이라는 개념을 처음 들었는데 내용은 너무나 익숙한 것이었다. 데이터 분석과 모델링의 단계이자 웹 개발할 때 서비스 구현의 단계이기도 했던 이 절차는 아래와 같다.
- Business Understanding
- Data Understanding
- Data Preparation
- Modeling
- Evaluation
- Deployment
비지니스 문제를 해결하기 위해서는 위 절차를 잘 따르는 것이 아주 중요하므로 반복해서 보고 익히도록 해야 겠다.
5. 느낀점
오늘 수업은 여러 개념이 등장하였고 실습이 많은 시간이었다. 파이썬을 처음 접하거나 오늘 수업이 어려웠던 분들은 필히 복습하고 개념을 잘 정리해두는 것이 필수적일 것으로 보인다. 나는 이 수업을 듣기 전에 파이썬을 충분히 잘 안다고 생각했는데 여기저기 구멍이 많았다. 아마 필요한 순간에 필요한 부분들을 파편적으로 익히다 보니 그런 것이 아닐까 하는 생각이 든다. 그런데 이 수업을 들음으로써 이런 구멍들을 메꾸고 기초를 탄탄하게 다진 것 같아서 뿌듯하기도 했고 겸손하게 공부해야겠다는 생각이 들기도 했다.
그럼 오늘의 정리도 끝! 안녀엉~
'Education' 카테고리의 다른 글
[KT AIVLE/2024.02.26] 한기영 강사님의 [데이터 처리] 강의 정리: Numpy, Pandas 라이브러리 심화 (1) | 2024.02.28 |
---|---|
[KT AIVLE/2024.02.23] 한기영 강사님의 [Python Library] 강의 정리: Numpy, Pandas 라이브러리의 이해 (0) | 2024.02.27 |
[KT AIVLE/2024.02.21] 이고잉 강사님의 [Git을 이용한 프로젝트 관리] 강의 전체 정리 (0) | 2024.02.23 |
2. 그런데 LG Aimers가 뭐야? (0) | 2023.12.22 |
1. LG Aimers 선정 메일이 왔다 (0) | 2023.12.22 |