하반기에는 플레이데이터의 빅데이터 부트캠프 12기에 참여하게 되었다. 배운 내용을 수시로 정리해 보려고 한다.
첫 주에는 Python의 기초 부분을 주로 배웠다. Google Colaboratory를 이용하여, 데이터 분석에 주로 필요한 부분 위주로 공부하였다. 다양한 배경의 의욕 넘치는 동기 분들이 수업을 더 풍성하게 만들어 주셔서 감사했다.
월요일 - 2022.07.04
배운 것
수업 진행 방식 안내, 선생님 소개, Google Colaboratory 개발 환경 설정
Python 기초 문법 및 기초 사항
- 인터프리터, 자료형, 연산, 타입변환, 메모리, 변수, 인덱싱과 슬라이싱 등
- 자료형: 숫자(int/float), bool(True/False), string, 시퀀스 타입
- 시퀀스 타입: list, tuple, range
- 이스케이프 문자 \n, \t 등
기억할 것
- 컴퓨터 및 언어에 대한 이해:
램에 공간을 만들고, 그 공간에 정수, 실수, 문자 등의 값을 넣는 것. 이후 상당수의 개념을 이러한 이해를 기반으로 설명함.
- 슬라이싱:
arr[시작인덱스 : 끝인덱스+1 : step(n개 건너뛰어 짚기)]
화요일 - 2022.07.10
배운 것
자료형, 복사(얕은복사/깊은복사), 제어문(반복문, 조건문)
기억할 것
-
매핑형 타입: dict가 대표적.
dict를 만든 뒤, Python이 dict의 key값에 해시값을 부여하고, 해시값을 램 공간에 부여함. 이후 key값으로 value를 찾을 때 Python은 key별 해시값으로 value를 찾음.
-
기본자료형: 데이터 값 자체를 저장하는 형태
- 원본 혹은 사본이 변형되어도 다른 한쪽이 변형되지 않음
- ex) bool, char, int 등
-
참조자료형 : 각자 독자적 값을 갖는 것이 아닌, 참조(reference) 주소를 공유하는 것
- 한 쪽이 변형되면 다른 한 쪽도 변형됨
- ex) list(array), class 등
-
Shallow Copy (얕은복사)
- 기본형이 아닌 자료들은 참조주소값을 복사하는 것
- 변수명이 달라도 id값은 같음
- a(원본) = b(사본) Shallow Copy 시, b가 바뀌면 a도 바뀜. 둘은 같은 id에 있으니까.
- Python은 기본적으로 Shallow Copy를 지원하나, 몇몇 특정 형태의 자료 및 자료형의 경우 Python에서 자체적으로 고정된 id를 부여하기 때문에 일반적이지 않은 결과를 도출하기도 한다.
-
Deep Copy (깊은복사)
- 객체가 가진 모든 멤버를 복사
- 참조자료형을 복사하는 경우, 참조주소(reference)가 아니라 객체 자체가 복사됨(또다른 주소에 새로 만들어짐)
- 따라서 한 쪽의 변형에 영향받지 않음. a(원본) = b(사본) Deep Copy 시, b가 바뀌어도 a는 그대로임.
- Python을 통해 데이터 분석을 진행하는 패키지들은 원본 데이터 보존을 위해 Deep Copy를 지원함.
수요일 - 2022.07.06
배운 것
논리연산자, 조건문 if, 반복문 while
기억할 것
- while문 현명하게 쓰는 법
- while은 무한 반복을 위한 명령어이다. (
while = True
가 무한 반복을 시작시키는 구문.)
- 무한 출력에 당황하지 않으려면 반복이 언젠가 멈출 수 있는 조건을 while 이후 넣어야 한다.
- 해당 블록까지만 진행하고 멈추는 명령어 break, 해당 블록을 1회 진행한 뒤 while로 되돌아가는 명령어 continue를 적극 활용한다.
- Python은 들여쓰기 단위로 블록을 구분하여 명령어를 실행한다.
- 상황 시작용 초기설정(예:
i = 1
)은 while문 밖, 종료 조건은 while문 안에 넣는다.
- 초기값 -> while (조건): -> 조건을 만족시키게 할 실행문 형태
목요일 - 2022.07.07
배운 것
while문 활용 연습, 반복문 for
for문 + range 등의 패턴 익히기
인상적인 코드
https://blog.naver.com/jeongbeom98/222803324458
점심시간 밥친구 조 짜는 코드를 지금까지 배운 것을 이용하여 만들어주셨다. 감사합니다...!!
기억할 것
- for문 기본 형태
- for 변수 in 이터레이블: -> for 블록
- 많이 연습하고, 에러메시지 두려워하지 말고, 주어진 여건을 for문으로 자주 바꾸어 보기.
금요일 - 2022.07.08
배운 것
반복문 for/while 활용, dict + for문 등 패턴
비교 연산자, 논리 연산자
문자열 메소드 - split
인상적인 코드
i = 2
while 2 <= i <= 9:
n = 1
while 1 <= n <= 9:
print(i, 'X', n, '=',(i*n))
n = n + 1
i = i + 1
기억할 것
- == 연산자: 양측의 값과 자료형이 같은지 판단
is 연산자: 양측의 id값이 같은지 판단
- 반복문 -> 반복 연습 필요