본문 바로가기

개발관련

파이썬 강좌 4 - 함수

728x90
반응형

2024.12.20 - [개발관련] - 파이썬 강좌3 - 파이썬 제어문

 

파이썬 강좌3 - 파이썬 제어문

2024.12.20 - [개발관련] - 파이썬 강좌 2 - 파이썬 기본 문법  3장: 파이썬 제어문1. 제어문의 개념제어문은 프로그램의 흐름을 제어하는 데 사용됩니다.조건에 따라 다른 코드를 실행하거나, 반복

woowonwoo.tistory.com

 

 

4장: 파이썬 함수

1. 함수란 무엇인가?

함수는 코드의 재사용성가독성을 높이기 위해 사용됩니다.

  • 함수는 특정 작업을 수행하는 코드 블록입니다.
  • 필요할 때 호출해서 사용할 수 있습니다.
1.1 함수의 장점
  1. 코드 재사용: 한 번 작성한 코드를 여러 번 사용할 수 있습니다.
  2. 가독성 향상: 코드가 명확해지고 구조화됩니다.
  3. 유지보수 용이: 코드 변경이 쉽습니다.

2. 함수의 기본 구조

2.1 함수 정의

파이썬에서 함수는 def 키워드로 정의합니다.
기본 문법:

 
def 함수이름(매개변수):
    실행문
    return 반환값  # 반환값은 선택적
 
 
2.2 함수 호출

정의된 함수를 호출하려면 함수 이름과 괄호를 사용합니다.

def say_hello():
    print("안녕하세요!")

say_hello()  # 함수 호출
 
 

예제:

def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 출력: 8

 

 

 

3. 함수의 매개변수와 반환값

3.1 매개변수(Parameter)

함수에 데이터를 전달하는 변수입니다.

 
def greet(name):
    print(f"안녕하세요, {name}님!")

greet("바보")  # 출력: 안녕하세요, 바보님!
 
 
3.2 기본값 설정

매개변수에 기본값을 설정할 수 있습니다.

def greet(name="손님"):
    print(f"안녕하세요, {name}님!")

greet()  # 출력: 안녕하세요, 손님님!
greet("바보")  # 출력: 안녕하세요, 바보님!
 
 
3.3 반환값(Return Value)

함수가 실행한 결과를 반환할 수 있습니다.

def multiply(a, b):
    return a * b

result = multiply(2, 3)
print(result)  # 출력: 6

4. 다양한 함수 사용 방법

4.1 가변 매개변수

매개변수 개수가 정해져 있지 않을 때, *args를 사용합니다.

def sum_all(*args):
    return sum(args)

print(sum_all(1, 2, 3, 4, 5))  # 출력: 15
 
 
4.2 키워드 매개변수

키와 값을 매개변수로 전달하려면 **kwargs를 사용합니다.

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="바보", age=22, job="개발자")
# 출력:
# name: 바보
# age: 22
# job: 개발자
 
 

 


5. 함수의 스코프(Scope)

5.1 지역 변수와 전역 변수
  • 지역 변수(Local Variable): 함수 내부에서만 사용 가능한 변수.
  • 전역 변수(Global Variable): 함수 외부에서도 접근 가능한 변수.

예제:

x = 10  # 전역 변수

def func():
    x = 5  # 지역 변수
    print("함수 내부:", x)

func()  # 출력: 함수 내부: 5
print("함수 외부:", x)  # 출력: 함수 외부: 10
 
 
5.2 전역 변수 수정하기

global 키워드를 사용하면 함수 내부에서 전역 변수를 수정할 수 있습니다.

x = 10

def func():
    global x
    x = 20

func()
print(x)  # 출력: 20

6. 람다 함수

6.1 람다 함수란?

람다 함수는 간단한 함수를 한 줄로 작성하는 방법입니다.

  • lambda 매개변수: 반환값

예제:

add = lambda x, y: x + y
print(add(3, 5))  # 출력: 8
 
 
6.2 람다 함수 활용

람다 함수는 보통 다른 함수의 매개변수로 사용됩니다.

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
print(squared)  # 출력: [1, 4, 9, 16, 25]

 


7. 연습 문제

  1. 간단한 계산기 함수
def calculator(a, b, operation):
    if operation == "add":
        return a + b
    elif operation == "subtract":
        return a - b
    elif operation == "multiply":
        return a * b
    elif operation == "divide":
        return a / b
    else:
        return "잘못된 연산자입니다."

print(calculator(10, 5, "add"))  # 출력: 15

 

  1. 기본값 매개변수 사용
def greet(name="친구"):
    print(f"안녕하세요, {name}님!")

greet()  # 출력: 안녕하세요, 친구님!
greet("바보")  # 출력: 안녕하세요, 바보님!

 

  1. 가변 매개변수로 리스트 합 구하기
def sum_numbers(*args):
    return sum(args)

print(sum_numbers(1, 2, 3, 4, 5))  # 출력: 15
  1. 람다 함수로 리스트 필터링
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 출력: [2, 4, 6]

 

 


8. 요약

  1. 함수는 코드 재사용을 위해 사용됩니다.
  2. 매개변수를 통해 데이터를 전달하고, 결과값을 반환할 수 있습니다.
  3. *args와 **kwargs로 다양한 형태의 매개변수를 받을 수 있습니다.
  4. 람다 함수는 간단한 작업을 위한 익명 함수입니다.

다음 장에서는 파이썬의 자료구조에 대해 학습하겠습니다! 😊

728x90
반응형