내일배움캠프

[본캠프] 데이터기반 QA/QC 부트캠프 9일차

min0jun 2026. 5. 21. 10:51

1. 오늘 학습 목표

- 파이썬 함수 배우기

 

2. 오늘 학습 한 내용

함수란?

  • 함수는 입력을 받아 원하는 처리를 한 후 출력을 내보내는 일련의 작업을 수행하는 코드 블록
def 함수이름(매개변수1, 매개변수2, ...):
    # 함수 내부에서 수행할 작업
    return 결과값  # (선택적) 함수의 결과를 반환

def 키워드로 함수 정의, 함수 이름 뒤에 소괄호 안에 매개변수를 정의, return을 사용하여 결과값 반환

 

  • 숫자 리스트에서 최댓값을 찾는 함수
def find_max(numbers):
    max_num = numbers[0]
    for num in numbers:
        if num > max_num:
            max_num = num
    return max_num

# 함수 호출
print(find_max([3, 7, 2, 9, 5]))  # 출력: 9

 

  • 튜플의 모든 요소를 곱하는 함수
def multiply_tuple(tup):
    result = 1
    for num in tup:
        result *= num
    return result

# 함수 호출
print(multiply_tuple((2, 3, 4)))  # 출력: 24

 

  • 주어진 문자열에서 각 문자의 출현 빈도를 딕셔너리로 반환하는 함수
def char_frequency(string):
    freq_dict = {}
    for char in string:
        if char in freq_dict:
            freq_dict[char] += 1
        else:
            freq_dict[char] = 1
    return freq_dict

# 함수 호출
print(char_frequency("hello"))  # 출력: {'h': 1, 'e': 1, 'l': 2, 'o': 1}

 

  • 전역변수, 지역변수
# 전역변수 예시
global_var = 10

def global_example():
    print("전역변수 접근:", global_var)

global_example()  # 출력: 전역변수 접근: 10

# 지역변수 예시
def local_example():
    local_var = 20
    print("지역변수 접근:", local_var)

local_example()  # 출력: 지역변수 접근: 20

# 함수 내에서 전역변수를 수정하는 예시
def modify_global():
    global global_var
    global_var = 30
    print("함수 내에서 수정된 전역변수:", global_var)

modify_global()  # 출력: 함수 내에서 수정된 전역변수: 30
print("수정된 전역변수 확인:", global_var)  # 출력: 수정된 전역변수 확인: 30

 

여기서부턴 심화!

  • 키워드 인수와 기본값을 함께 사용하여 함수 호출
def greet(name="Guest", age=25):
    print("이름:", name)
    print("나이:", age)

# 키워드 인수를 사용하여 함수 호출
greet(name="Alice", age=30)

# 일부 매개변수에만 키워드 인수 사용하여 호출
greet(name="Bob")

 

  • 가변 인수 활용하기
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

def print_info(**kwargs): #kwargs:키워드인수
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=30, country="USA")

 

 

Tip. 지역변수를 설정하면 로컬변수로 내부 함수는 바꿀 수 있지만 지역변수가 바뀌는 건 아니다.
      print 보단 return이 더 유용함. return이 두줄이면 위에 줄만 실행

 

3. 오늘의 과제 - 평균 계산기

# 데이터는 이것을 사용하세요
data = [2, 4, 6, 8, 10]

 

내가 푼 답

data = [2, 4, 6, 7, 10]
result = 0

for avg in data:
    result += avg

print(result / len(data))

 

풀이

def calculate_average(data):
    total = sum(data)
    length = len(data)
    average = total / length
    return average

data = [2, 4, 6, 8, 10]
result = calculate_average(data)
print("평균:", result)

 

 

나의 간단 소감

- 나름 퀴즈 잘 풀었다고 생각했는데 풀이보고 시무룩해졌다.. 아직 갈 길이 멀구나...🥲