[Python] 함수

yeji·2024년 10월 17일
0

Python

목록 보기
4/36

함수

  • 입력을 받아 원하는 처리를 한 후 출력을 내보내는 일련의 작업을 수행하는 코드 블록
def 함수이름(매개변수1, 매개변수2, ...):
    # 함수 내부에서 수행할 작업
    return 결과값  # (선택적) 함수의 결과를 반환
  • def 키워드를 사용하여 함수 정의
    함수 이름 뒤에 소괄호 안에 매개변수(입력 값)를 정의
    return을 사용하여 결과값 반환
# 함수 정의
def greet(name):
    message = "Hello, " + name + "!"
    return message

# 함수 호출
greeting = greet("Alice")
print(greeting)  # 출력: Hello, Alice!
# 최대값 찾는 함수

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

함수 심화

  • 변수
    전역변수 (Global Variables) : 프로그램 전체에서 접근 가능한 변수로, 어디서든지 사용가능
    지역변수 (Local Variables) : 특정한 범위(예: 함수 내부)에서만 접근 가능한 변수로 해당 범위를 벗어나면 사용할 수 없음, 범위를 벗어나면 메모리에서 사라짐

  • 매개변수와 인수
    매개변수(Parameter) : 함수를 정의할 때 함수가 받아들이는 값을 지정하는 변수
    인수(Argument) : 함수를 호출할 때 함수에 전달되는 값

# 매개변수(parameter) 예시
def greet(name):  # 여기서 'name'은 매개변수입니다.
    print("Hello, " + name + "!")
    
# 함수 호출할 때 전달되는 값이 인수(argument)입니다.
greet("Alice")  # 함수 호출 시 "Alice"는 greet 함수의 매개변수 'name'에 전달됩니다.
  • 인자
    위치 인수 (Positional Arguments) : 함수 정의에서 매개변수(parameter)의 위치에 따라 전달되는 인수
    키워드 인수 (Keyword Arguments) : 인수를 순서대로 전달하는 대신에 특정 매개변수에 값을 할당하여 전달할 수 있음, 순서 상관 없음

  • 기본값 (Default Values) 설정 : 함수의 매개변수에 기본값을 설정

  • 가변 인수 (Variable-length Arguments)
    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")

연습문제

Q. 주어진 데이터셋의 평균을 계산하는 함수를 작성하고 함수의 결과를 출력해 보세요! data = [2, 4, 6, 8, 10]

def avg(numbers) :
    total = sum(numbers)
    avg = total / len(numbers)
    return avg

data = [2, 4, 6, 8, 10]
result = avg(data)
print(result)
profile
👋🏻

0개의 댓글