내일배움캠프에서 새로운 주차가 시작되어 새로운 팀원분들과 만났는데
이번에도 다들 좋은 분들을 만나서 다행이었다.
오늘은 지급된 강의중 파이썬 종합반을 수강 시작해서 1주차 강의를 모두 듣고 키워드 정리를 해보려고 한다.
여태까지 SQL을 집중적으로 공부해서 파이썬 기초 강의가 가물가물했는데 마침 종합반 강의 시작이
기초 강의 내용을 한번 더 짚고 넘어가는 부분이라 복습도 하고 새로운 개념도 배워서 내용을 정리해보겠다.
1주차
colab
일단 colab은 구글 내에서 파이썬+주피터노트북을 할 수 있는 클라우드 시스템이다.
컴퓨터 사양이 좋지 않거나 환경이 좋지 않다면 colab을 사용하면 좋고
vscode의 경우 설치하고 주피터노트북 설치하고 이래저래 복잡할 수 있으니 추천해주셨는데
나는 이미 vscode로 필요한 건 거의 다 설치해서 사용중이라 혹시나 이 컴퓨터가 아닌 다른 컴퓨터에 뭐가 없다면 colab을 사용해보는것도 좋다고 생각한다.
큰 따옴표(""), 작은 따옴표('') 사용 차이
사실 둘 다 문자열을 나타내는데 사용하지만 문제가 있다면
alice's code 라는 문장을 출력시 'Alice's code' 라고 작은 따옴표 사용시 에러가 발생
그래서 "Alice's code"로 큰 따옴표를 사용한다면 문제가 없다.
반대 상황도 생각해봤는데 '출력할 문장 "안녕" 입니다.' 같은 느낌으로 쓸 수도 있을 것 같다. (예시가 딱히 생각이 안나는데 넘길란다.)
25와 25.0
나는 이 부분에 대해서는 처음에 배울 때 정수와 실수는 다른 개념이니 같다고 생각하지 않았는데 강사님께서 한 번 짚어주시니
아마 나중에 사소한 실수가 발생하는 부분이라는 느낌을 받아서 적어봤다.
혹은 연산이 정수+실수 = 실수 이런 부분도 간혹 실수가 있는 편이라고 말씀하시니
정수와 실수가 같이 나오면 유심히 살펴보며 실수하지 말아야겠다.
몫, 나머지
이 부분은 분명 기초 강의에서 공부해서 알고 있었는데 막상 오랜만에 보니 // 가 몫인지 나머지인지 헷갈렸다.
파이썬 복습을 한 번밖에 안한게 문제였던것 같다. 그래서 제대로 다시 //가 몫이고 %가 나머지인 부분을 확인했다.
절대값, 반올림
ROUND 함수는 SQL 공부 과정에서도 많이 나와 반올림으로 자주 사용했지만
절대값 ABS는 파이썬 강의 시 공부했는데 다시 보니 "아 이런게 있었지" 라는 느낌이라 키워드에 추가했다.
아마 절대값 말고도 다른 개념들중 놓친 부분이 있다고 판단 돼 기초 강의부터 복습을 다시 해야겠다.
NAN
이건 처음 보는 개념인데 강의에서는 이게 함수나 그런게 아니고 값이 제대로 설정이 안되어 있는 것을 예시로 들었는데,
num_int = 1 / 0
# 0으로 무엇을 나누는 것 부터가 문제
숫자를 대표하는 값이 아닌 오류 값 -> NaN의 정의
NaN과 무한 모두 수학적인 "실수"가 아니기 때문에 실제로 프로그래밍을 할 때에는 두 값 모두 일종의 예외로 처리하게 되는 경우가 많아 그런 관점에서 비슷하게 취급 되긴 한다 -출처 나무위키-
그래서 나는 일단 간단하게 NaN을 숫자 관련 오류 값이라고 생각하기로 했다.
다시 찾아보니 NaN은 not a number의 약자이고 "숫자가 아님"을 의미하며
숫자 연산중 발생 할 수 있는 예외적인 오류로 보는게 맞다 !
input
input을 사용하면 네모 칸이 생기는데 여기 값을 입력가능
기본적으로 값은 문자열로 저장 됌
그래서 숫자로 돌리려면 꼭 INT타입으로 변환시켜야 사용해요함
다시 정리
용자와 상호작용하기 위해 사용하는 함수, 사용자에게 입력 제시
값은 기본적으로 문자열로 저장되기에 숫자값이 필요하다면 변환 필요
전체적으로 기억은 어느 정도 하고 있지만 디테일한 부분을 까먹어서
기초 강의 복습 + 문제를 풀어보며 기억을 더듬어 봐야겠다.
2주차
리스트, 튜플, 딕셔너리의 사용 이유
-> 데이터의 구조화 및 조작
리스트
- [ A, B, C]
- 가변 ( 수정 가능 )
- 리스트 메서드 (append, extend, insert, remove, pop, sort, reverse)
- 리스트 안 리스트 -> 중첩 리스트 가능
- 인덱싱, 슬라이싱
- 튜플로 변환 가능
튜플
- ( A, B, C)
- 불가변 ( 수정 x 데이터 보호 및 바뀌지 않는 정보 저장 ex) 주민등록번호 )
- 튜플 메서드 - > count() : 특정 값 몇 개 있는지, index() : 특정 값의 인덱스 반환 등등 (자주 쓰는 2개 정도만 필기함)
- 리스트로 변환가능
딕셔너리
- 키와 값으로 이루어짐 { 'Key' : 'value' }
- 자주 사용되는 정보 ( ex) 유저 정보 )
- 딕셔너리 메서드 (이건 이해가 잘 안가서 ChatGPT로 설명 다시 듣고 내용 첨부)
✅ 1위: get()
📌 설명
- 딕셔너리에서 **키(key)**로 값을 가져올 때 사용
- 키가 없어도 에러 없이 None을 반환하거나, 기본값을 지정할 수 있음
💡 사용 예시
🎯 왜 많이 쓰일까?
- 실무에서 키가 항상 있는지 확신 못 할 때 에러 없이 안전하게 값을 불러올 수 있음
✅ 2위: keys()
📌 설명
- 딕셔너리의 **모든 키(key)**만 뽑아서 보여줌
- for 루프 돌릴 때 많이 씀
💡 사용 예시
🎯 왜 많이 쓰일까?
- 딕셔너리에서 어떤 키들이 있는지 확인할 때 필수
- 반복문 돌릴 때 매우 유용
✅ 3위: values()
📌 설명
- 딕셔너리의 **모든 값(value)**만 뽑아서 보여줌
💡 사용 예시
🎯 왜 많이 쓰일까?
- 모든 값을 한 번에 가져와서 평균, 합계 등 계산할 때 자주 씀
✅ 4위: items()
📌 설명
- (키, 값) 쌍을 튜플 형태로 모두 반환
- 반복문 돌릴 때 진짜 자주 씀
💡 사용 예시
🎯 왜 많이 쓰일까?
- 딕셔너리의 모든 내용을 한꺼번에 순회할 수 있음
- 특히 for name, score in dict.items() 패턴이 기본형으로 자주 등장
✅ 5위: pop()
📌 설명
- 특정 키와 그 값을 제거하고 값만 반환
- 딕셔너리에서 항목을 제거할 때 사용
💡 사용 예시
🎯 왜 많이 쓰일까?
- 데이터를 순차적으로 꺼내 쓰면서 줄이거나, 키가 사라져야 할 때 유용
✅ 6위: popitem()
📌 설명
- 마지막으로 추가된 키-값 쌍을 제거하고 반환
- LIFO 방식 (Last In, First Out)
💡 사용 예시
🎯 언제 쓰일까?
- 최근 데이터부터 차례로 정리하고 싶을 때
- 딕셔너리를 스택처럼 쓰고 싶을 때
2주차 느낀 점
기초 강의에서는 정말 리스트, 튜플, 딕셔너리의 기초만 알고 있었구나 생각이 들었음
튜플과 딕셔너리의 메서드는 저번 강의에서 못 본거 같아 실제로 사용하는 예시를 들면서 풀어야 할 것 같다.
오늘 강의는 다 들었지만 2주차의 예제와 마지막 퀴즈는 아직 못 풀었으니 내일 아침에 일어나서 복습하고
진도보다는 문제 푸는데 중점을 둬야겠다.