☆ 오늘의 일일목표 ☆
- AI 진단퀴즈 5문제 풀기
- 파이썬 기초탄탄 라이브 세션 수강
- 데이터 분석 파이썬 종합반 4 주차 수강
- 데이터 리터러시 강의 1-3 수강
- 이력서 초안잡기
반복문 학습 시 사용하기!
파이썬 시뮬레이션 툴 → Python TutorPython Tutor - Visualize Code Execution
● 리스트 컴프리헨션(List Comprehension)

→ 리스트를 간단하고 짧게 작성할 때 사용한다.
def solution(n):
answer = 0
for i in str(n):
#print(i) # '1'
# '2'
# '3'
answer+=int(i) # answer= answer + i
return answer
'''
↓ 아래의 코드는 위의 코드를 ↓
↓'리스트 컴프리헨션'을 사용하여 작성한 것이다 ↓
'''
def solution(n):
answer = sum([int(i) for i in str(n)]) # # input: 123, 결과: sum([1,2,3])
return answer
↓ ↓ ↓ 인수와 매개변수 차이 ↓ ↓ ↓
▶ 매개변수(Parameter)
- 함수를 정의할 때 함수가 받아들이는 값을 지정하는 변수이다.
- 함수의 헤더 부분에서 매개변수가 정의되며, 함수 내부에서 사용된다.
- 함수를 정의할 때 매개변수를 정의하고, 함수가 호출될 때 매개변수에 해당하는 값을 전달받는다.
▶ 인수(Argument)
- 함수를 호출할 때 함수에 전달되는 값이다.
- 함수를 호출할 때 전달되는 실제 값이며, 함수를 호출할 때마다 다를 수 있다.
- 함수 호출 시 매개변수에 전달되는 값으로, 해당 값은 함수 내부에서 매개변수로 사용된다.
- 전달인자라는 표현으로 사용되기도 한다.
def greet(name): # 'name'은 매개변수이다.
print("Hello, " + name + "!")
# 함수 호출할 때 전달되는 값이 인수(argument)이다.
greet("Alice") # 함수 호출 시 "Alice"는 greet 함수의 매개변수 'name'에 전달된다.
# "Alice"는 인수이다.
● 위치 인수(Positional Arguments)
- 함수 정의에서 매개변수의 위치에 따라 전달되는 인수이다.
- 인자의 값이 함수의 매개변수에 순서대로 매핑된다.
- 함수 호출 시 위치 전달인수는 매개변수의 위치에 따라 전달된다.
def greet(name, age):
print("안녕하세요", name, "님! 나이는 ", age, "세입니다.")
# 위치 전달인자 사용
greet("철수", 30) # 출력: 안녕하세요, 철수님! 나이는 30세입니다.
● 키워드 인수(keyword argument)
- 함수 호출 시 인수를 순서대로 전달하는 대신, 특정 매개변수에 값을 할당하여 전달한다.
def greet(name, age):
print("이름:", name)
print("나이:", age)
# 키워드 인수를 사용하여 함수 호출
greet(name="Alice", age=30)
# 이름: Alice
# 나이: 30 출력
● 가변 인수(Variable-length Arguments)
- 여러 개의 인수들을 받을 수 있는 함수를 만들기 위해 사용한다.
- *arge (함수 호출 시 임의의 개수의 위치 인수를 전달함)와 **kwargs(함수 호출 시 임의의 개수의 키워드 임수를 전달함)를 사용한다.
# *args 사용
def sum_values(*args):
total = 0
for num in args:
total += num
return total
result = sum_values(1, 2, 3, 4, 5)
print("합계:", result) # 출력: 합계: 15
# **kwargs 사용
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Alice", age=30, country="USA")
# name: Alice
# age: 30
# country: USA 출력
↓ ↓ ↓ 전역변수와 지역변수 ↓ ↓ ↓
▶ 전역변수(Global Variables)
- 프로그램 전체에서 접근 가능한 변수로, 어디서든지 사용할 수 있다.
- 프로그램이 시작될 때 생성되고, 프로그램이 종료될 때까지 메모리에 유지된다.
- 프로그램의 어디서든지 접근할 수 있으므로, 여러 함수에서 공통적으로 사용되는 값을 저장할 때 유용하다.
- 너무 많은 전역변수를 사용하면 코드의 가독성이 떨어지고 디버깅이 어려워질 수 있다.
▶ 지역변수(Local Variables)
- 특정한 범위(예: 함수 내부)에서만 접근 가능한 변수로, 해당 범위를 벗어나면 사용할 수 없다.
- 해당 범위에서 생성되고, 범위를 벗어나면 메모리에서 사라진다.
- 함수 내에서 정의된 변수는 해당 함수 내에서만 사용 가능한 지역변수이다.
- 함수 내에서만 사용되므로, 해당 함수에서만 유효하고 다른 함수나 코드 블록에서는 사용할 수 없다.
- 함수가 실행될 때 생성되고, 함수가 종료되면 메모리에서 제거되므로 메모리 관리에 효율적이다.
▶ 함수의 정의

def 함수이름(매개변수1, 매개변수2, ...):
코드 블록1
코드 블록2
return 결과값 # (선택적) 함수의 결과를 반환
→ ' def ' 를 사용하여 함수 정의, ' return '을 사용하여 결과값을 반환한다.
→ ' return '은 함수를 바로 종료 시키면서 반환할 값을 정의한다. 지정하지 않으면 ' None '이 출력된다.
↓ ↓ ↓ print와 return의 차이↓ ↓ ↓
def sum_a_b(a,b):
result = a + b
return result
def sum_a_b2(a, b):
result = a + b
print(result)
x=sum_a_b(2,2)
print(x)
'''
4
'''
y=sum_a_b2(3,3)
print(y)
'''
6
None
'''
→ 반드시 값을 return을 해야하는 것은 아니지만, return을 사용하지 않으면 숨어있는 None이 튀어나온다!
○ 함수 종류
| 종류 | 의미 | 예시 |
| 내장 함수(built-in function) | 사전에 정의된 함수 | len(), print() |
| 사용자 정의 함수(user define function) | 사용자가 필요해서 만든 함수 | - |
● 함수 호출
결과 = 함수이름(인수1, 인수2, ...)
● map 함수
map(function, iterable)
- function: 각 요소에 적용할 함수이다.
- iterable: 함수를 적용할 데이터 집합이다.
→ iterable의 각 요소에 대해 function 함수를 적용한 결과를 새로운 iterator로 반환한다.
→ function 함수는 각 요소를 인자로 받아 처리하며, 함수의 반환값이 새로운 iterator의 각 요소가 된다.
def square(x):
return x**2
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers)) # [1, 4, 9, 16, 25]
● 람다 함수
→ 이름 없는 익명 함수로, 코드의 간결함과 메모리의 절약이 장점

# 일반 함수
def add(x, y):
return x + y
# 람다 함수
add_lambda = lambda x, y: x + y
print(add(3, 5))
print(lambda x, y: x + y)
↓ ↓ ↓ 추가 예시 ↓ ↓ ↓
# 반복문
numbers = [1, 2, 3, 4, 5]
answer= [] # 결과를 저장할 리스트
for num in numbers:
answer.append( num ** 2) # 각 요소를 제곱해서 리스트에 추가
print(answer) # 출력: [1, 4, 9, 16, 25]
# 리스트 컴프리헨션
answer = [x**2 for x in numbers]
print(answer) # 출력: [1, 4, 9, 16, 25]
# 함수
def square_numbers(numbers):
answer = [] # 결과를 저장할 리스트
for num in numbers:
answer.append(num ** 2)
return answer
print(square_numbers(numbers)) # 출력: [1, 4, 9, 16, 25]
# 람다 함수
answer= list(map(lambda x: x**2, numbers))
print(answer) # 출력: [1, 4, 9, 16, 25]
☆데이터 리터러시☆
▶ 데이터 유형
● 정성적 데이터
- 비수치적인 정보로 사람의 경험, 관점, 태도와 같은 주관적인 요소를 포함한다.
- 대부분 텍스트, 비디오, 오디오 형태로 존재한다.
- 정형되지 않고 구조화 되어있지 않다.
- 데이터를 구조화하기 어렵다.
- 새로운 현상이나 개념에 대한 이해를 심화하는데 사용한다.
● 정량적 데이터
- 수치적으로 표현되는 정보로 양적인 측정과 분석을 통해 얻을 수 있다.
- 데이터가 숫자 형태로 존재하여 통계적으로 분석하기 쉽다.
- 개인의 해석이나 주관이 적게 작용하는 객관성을 지니고 있다.
- 지표로 만들기 용이하다
- 설문조가, 실험, 인구 통계, 지표 등에 활용된다.
☞ 인구 통계 데이터, 수치형 설문조사 데이터, 비즈니스 데이터(매출액), 행동 로그 데이터, 미케팅 데이터 ...
○ 활용 예시
- 일일 활성 사용자수(DAU, Daily Active User), 재방문 비율(Retention) 등 서비스의 건강 상태를 나타내는 지표
- 수치형 설문조사 데이터를 활용하여 추천 지수(NPS) 생성 가능
- 통계적 분석 적용(분포, 평균, 중앙값 등 계산하여 데이터 경향성과 패턴 파악 용이, 내용을 근거로 의사결정 과정에서 중요한 판단 내림)
- 다양한 데이터 분석 방법 적용
- → 비즈니스 분석, 예측 모델링, 추세 분석을 포함한 머신러닝과 같은 현대적 데이터 분석 기법에 활용 가능, 이를 통해 미래 예측, 요율적 자원 배분, 시장 변화에 대한 적응 가능

▶ 데이터 유형 예제
Q1. 한 레스토랑에서 하루에 판매되는 햄버거 세트의 수는 150개 이다.
A1. 정량 데이터
Q2. 한 고객이 카페 이용 리뷰에 '커피 맛이 너무 좋았고, 분위기가 아늑했다'고 말했다.
A2. 정성 데이터
Q3. 고객 설문 조사에서, 고객들이 서비스에 대해 '만족한다', '매우 만족한다', '만족하지 않는다'와 같이 응답했다.
A3. '정성 데이터' 이지만, 얼만큼 만족하는지에 따라 '정량 데이터'로 수치화가 가능한 데이터이다.
(ex. 매우 만족한다 : 5, 만족한다 : 3, 만족하지 않는다 : 1)
Q4. 어떤 연구자가 인터뷰를 통해 수집한 데이터에는 참가자들의 나이, 성별, 직업과 더불어 그들의 생각과 느낌이 포함되어 있다.
A4. 정성, 정량 모두 포함하고 있다. '나이, 성별, 직업' 은 정량 데이터이고, '생각과 느낌'은 정성 데이터이다.
오늘의 일일목표를 모두 완료하고 남은 시간에는 파이썬 과제를 풀어보며 마무리하는 시간을 가졌다.
변수와 인자, 함수에 대해 학습하면서 변수는 단순한 parameter가 아니라 전역변수와 지역변수로 나뉘며 사용 범위가 다르다는 점을 이해하게 되었다. 또한 함수의 변수와 인자의 차이도 알게 되면서 함수 구조를 더 명확하게 이해할 수 있었다.
추가적으로 리스트 컴프리헨션, map 함수, 람다 함수를 사용하면 반복문을 더 간결하게 작성할 수 있고, 코드의 가독성과 실행 효율도 높일 수 있다는 점을 배울 수 있었다.
'내일배움 본캠프' 카테고리의 다른 글
| [내일배움 본캠프] Python 기초 다지기 (0) | 2026.05.26 |
|---|---|
| [내일배움 본캠프] 'Python' 데이터 분석 필수 문법 (1) | 2026.05.22 |
| [내일배움 본캠프] 조건문과 반복문(if, For, While) (0) | 2026.05.20 |
| [내일배움 본캠프]Python기초 (0) | 2026.05.19 |
| [내일배움 본캠프]좋은 가설 세우기와 코호트 분석 (0) | 2026.05.18 |