001
오늘의 키워드: 함수 어려워
앞으로 코딩하며 주구장창 마주하게 될 함수에 대해 배웠다. 5년 전인가... 대학교 교양 과목으로 파이썬을 잠깐 배웠던 적이 있는데, 오래돼서 가물가물하지만 함수 배울 때 좀 힘들어했던 것 같다. 그리고 오랜만에 배운 함수는 여전히 어려웠다.....

002
오늘 배운 내용
[라이브 세션] 손보미 튜터님 Python 기초 3회차
↓ 새기자...
이것저것 찍먹 =시간 버리기
선택과 집중. 가고 싶은 길을 딱 정해서 그것만 파자.
코드 안 떠오른다고 화면만 몇십 분씩 째려보지 말자
노션이나 블로그 뒤져보고, 정 안 되면 AI 도움 받으면서 일단 작성하자.
그리고 나중에 그 코드를 혼자 구현할 수 있으면 잘 하고 있는 것 👍
1. while 복습 — for vs while 비교
| for | while | |
| 언제 쓰나 | 반복 횟수 정해져 있을 때 사용 | 종료 조건 충족할 때까지 (몇 번 반복되는지 모를 때) |
| 종료 조건 | 순회 대상이 끝나면 | 조건이 False가 되면 |
while은 조건이 True인 동안에는 계~속 돌기 때문에 외부에서 변수로 limit(pass / continue / break)을 걸어줘야 한다.
안 그러면 영원히 돌아가고 컴도 터진다.
tip. 반복문 흐름이 헷갈리면 Python Tutor 에서 시각화해보기 : https://pythontutor.com/
2. 함수
세션 들으면서 필기한 내용 (함수 자세한 개념은 아래 작성)
- 함수 = 자판기. 입력 넣으면 output 나오는 것
- 프로젝트 마무리할 때, 어디에 공유할 때, 포트폴리오 최종본 만들 때 함수화하면 좋음
- return vs print : return은 함수를 즉시 종료하면서 값을 반환하는 것. print는 그냥 화면에 출력만 할 뿐 값을 넘기지 x
- 매개변수 없는 함수도 있음 (→ def 함수이름())
- 함수의 반환값이 여러개면 반환값 결과형은 튜플
- return값 여러개면 첫번째만 실행
- map() : iterable의 각 요소에 함수를 적용해서 결과를 반환하는 내장 함수.
- 람다 함수 : 이름 없는 익명 함수. 간결하고 메모리 절약이 장점이라고는 하는데,,., 심화내용은 튜터님께서도 어려우면 굳이 지금 안 봐도 된다고 하셨으니 일단 패스~......
기본만 해도 벅차다
[VOD 강의] 데이터 분석 파이썬 종합반 4주차 수강 완료
1. 함수?
내가 내린 정의 :
입력값을 받아 정해진 연산을 처리한 뒤, 결과물을 뱉어내는 코드 보따리
< 왜 쓰는지? >
- 재사용 용이 : 같은 코드를 반복해서 쓰지 않아도 됨
- 유지보수 쉬움 : 수정할 때 함수 하나만 고치면 끝
- 가독성 좋음 : 코드가 무슨 일을 하는지 이름만 봐도 파악 가능
def 함수이름(매개변수1, 매개변수2):
# 처리할 작업
return 결과값
결과 = 함수이름(인수1, 인수2) # 함수 호출
▼ 함수 실제 코드 예시
# 검사 수치 리스트의 평균 계산 함수
def calculate_mean(values):
total = sum(values)
mean = total / len(values)
return mean
wbc_data = [7200, 8100, 6500, 9000, 7800]
print("평균 WBC:", calculate_mean(wbc_data))
2. 변수의 활동 범위 (전역변수 vs 지역변수)
| 어디서 씀? | 특징 | |
| 전역변수 (Global) | 프로그램 전체 어디서든 호출 가능 | 함수 내부에서 수정하려면 global 선언 필요 |
| 지역변수 (Local) | 함수 내부(def 블록 안)에서만 존재 | 함수 실행이 끝나면 메모리에서 없어짐 |
3. 매개변수 VS 인수(Argument)
- 매개변수: 함수 정의할 때 만드는 괄호 안의 변수
- 인수(Argument): 함수 호출할 때 실제로 꽂아주는 값
def inspect(item, value): # item, value가 매개변수
print(f"{item}: {value}")
inspect("WBC", 8500) # "WBC", 8500이 인수
4. 인수 종류 정리
- 위치 인수 : 순서대로 매핑. 순서 틀리면 바로 잘못된 결과 나옴.
- 키워드 인수 : 매개변수 이름을 명시해서 전달. 순서 상관없음.
- 기본값 : 인수 안 넘기면 기본값으로 처리. 선택적 입력이 필요할 때 유용.
- 가변 인수 : *args는 개수가 불특정한 위치 인수, **kwargs는 개수가 불특정한 키워드 인수.
# 키워드 인수 + 기본값
def report(item, value, unit="개/μL"):
print(f"{item}: {value} {unit}")
report(item="WBC", value=8500) # 기본값 사용
report(item="HGB", value=13.5, unit="g/dL") # 기본값 덮어쓰기
# 가변 인수 — 여러 수치 한 번에 합산
def sum_counts(*args):
total = 0
for n in args:
total += n
return total
print("총 이상 건수:", sum_counts(3, 7, 2, 5)) # 출력: 17
# **kwargs — 검사 정보 자유롭게 출력
def print_patient_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_patient_info(name="김철수", age=42, diagnosis="정상")
5. 데이터 분석 실무 활용성
실무로 넘어가면 이 함수들을 가지고
1) 결측치나 이상치를 정제하는 전처리 함수
2) 매번 그리기 귀찮은 시각화 차트 자동 생성 함수
3) 반복적인 통계 지표 계산 함수
등을 직접 커스텀해서 파이프라인을 구축할 때 쓴다.
[아티클 스터디]
주제 : 양질의 데이터를 판별하는 5가지 방법 ① 데이터 양은 충분한가?
~ 읽으면서 메모장에 정리한 내용 ~
1. 양질의 데이터란 무엇인가?
1) 데이터의 품질
ⓐ 다양한 데이터 보유 ≠ 데이터로 이익 취하기
- 데이터의 다양성은 분석 소스 확보 측면에서 장점은 o, but 효율성 떨어질 수도 있음
ⓑ 모든 데이터가 고품질의 데이터는 x
ⓒ 저품질 데이터라고 모두 활용되지 않는 것도 x
→ 고품질의 데이터일수록 실제로 활용될 확률 ↑
2) 양질의 데이터 판단하는 방법
< 양질의 데이터 특징 >
- 데이터 수 多
- 데이터 자체의 오류 少
- 관계형데이터베이스 형식을 잘 지킴
- 수치형 데이터 형식 多
- 활용 목적에 적합
2. 데이터가 충분히 많은가?
1) 데이터 양을 중요하게 고려해야 하는 경우
- 표본이 모집단을 대표하지 못할 때
: 데이터 수 자체가 너무 적으면 표본의 대표성 의심
- AI 알고리즘을 적용해야 하는 이유
: 데이터 양↑→ 정확도↑
2) 어느 정도가 충분한 양일까?
: 절대적인 기준은 없으나, 데이터 분석의 목적과 방법에 따라 정도가 달라짐
ⓐ 통계적 분석: 최소 500개 이상의 데이터 필요
- 통계적 유의미성: 분석 결과를 통계적으로 신뢰할 수 있는가에 대한 지표
: 보통 300~500개 이상이 될 때부터 수치 안정
ⓑ 머신러닝 분야
- 기본 전제: 데이터는 다다익선, 최소한의 수준은 어느정도 존재
- 일반적으로 데이터가 변수의 수에 100을 곱한 것보다 많다면 ok
3. 결론
- 데이터의 양은 분석 결과의 신뢰도와 직결
- 딥러닝 분야: 적은 데이터의 양 → 부정확한 AI
003
오늘의 시행착오


004
내일 학습할 것
- 라이브 세션 4회차 듣기
- 함수 복습 & 문제 더 풀기
- 내일 과제 나가는데, 가능하면 그냥 내일 다 끝내버리기

내일만 보내면 주말이 온다~
'Today I Learned' 카테고리의 다른 글
| [내일배움캠프 QA/QC 트랙 6기 본캠프] TIL #011 (1) | 2026.05.26 |
|---|---|
| [내일배움캠프 QA/QC 트랙 6기 본캠프] TIL #010 — 🔙🔙🔙 (1) | 2026.05.22 |
| [내일배움캠프 QA/QC 트랙 6기 본캠프] TIL #008 — 🤯 (0) | 2026.05.20 |
| [내일배움캠프 QA/QC 트랙 6기 본캠프] TIL #007 — 프로그래밍 기초 (0) | 2026.05.19 |
| [내일배움캠프 QA/QC 트랙 6기 본캠프] TIL #006 — 2주차 시작 (0) | 2026.05.18 |