Function

감자·2024년 4월 4일
0

TIL Python

목록 보기
11/16
post-thumbnail

프로그래밍을 하다보면 종종 똑같은 코드를 여러번 써야 할 때가 있으셨을 겁니다.
혹시!! 그럴 때마다 똑같은 코드를 복붙해서 쓰진 않으셨나요? 그리고 이게 맞나...하는 의문이 들진 않으셨나요?

이런 의문을 풀기 위해 이번에는 함수와 관련된 포스팅을 쓰도록 하겠습니다.

함수

특정 기능을 수행하는 재사용 가능한 코드 블록입니다. 모든 프로그래밍 언어의 필수적인 부분인 함수는 코드를 더 모듈화하고 재사용 가능하게 만들어 줍니다. 함수는 입력(인자), 처리(함수 내부의 코드), 출력(반환 값)의 형태를 가지며, 한 번 정의해 두면 필요할 때마다 반복해서 사용할 수 있습니다.

1. 함수의 기본문법

파이썬에서는 def 키워드로 함수를 정의하고, 함수 식별자(이름)를 괄호와 콜론과 함께 씁니다.
함수가 수행할 작업을 지정하려면 탭 또는 4개의 공백을 사용해 들여쓰기를 하고 다음과 같이 작성하며 기본형태는 아래와 같습니다.

def 함수이름():
    # 함수가 수행할 작업

예시입니다.

def myfunction():
    print("Hello World")
    
myfunction() # 출력 : "Hello World"


def subtractNum():
    print(34 - 4)

subtractNum() # 출력: 30

2. 함수의 인자와 파라미터

함수를 더 유연하게 만들기 위해, 인자(arguments)와 파라미터(parameters)를 사용할 수 있습니다.

parameters : 함수를 정의할 때 괄호 안에 선언된 변수
arguments : 함수를 호출할 때 함수에 전달되는 실제 값

# a,b는 함수의 파라미터입니다.
def add(a,b):
	return a + b

# 여기서 10과 20은 인자입니다.
result = add(10, 20)
print(result) # 출력: 30

위의 예시에서 add 함수는 a,b 파라미터를 가지며 함수를 호출할 때 두 개의 인자 10과 20을 전달합니다.


3. 함수의 return 키워드

함수에서 return 키워드를 사용하면, 함수를 호출한 곳으로 값을 반환할 수 있습니다. 이를 통해 함수의 결과를 변수에 저장하거나, 다른 함수의 입력으로 사용할 수 있습니다.

def multiply(num):
    return num * 8

result = multiply(8)
print(result)  # 출력: 64

4. 함수의 가변 인자

이번엔 조금 더 어려운 개념인 함수의 가변 인자에 대해 설명드리겠습니다.
가변 인자는 함수에 임의의 수의 인자를 전달할 수 있게 하는 기능인데요, 이 덕분에 함수를 더 유연하게 설꼐할 수 있습니다.
가변 인자 리스트는 주로 두 가지 방식인*args**kwargs로 사용됩니다.

1) *args 사용하기

*args는 함수에 넘겨진 위치 기반 인자들을 튜플로 묶어주는 역할을 합니다.
args는 관례적으로 사용되는 이름이지만, * 기호가 중요한 역할을 하며, 다른 이름을 사용할 수도 있습니다.

def calculate_average(*numbers):
    total = sum(numbers)  # 전달받은 모든 숫자의 합을 계산
    count = len(numbers)  # 전달받은 숫자의 개수
    if count == 0:
        return 0
    reurn total / count

# 평균 계산 예시
print(calculate_average(10, 20, 30))  # 출력: 20.0
print(calculate_average(4, 5, 6, 7))  # 출력: 5.5
print(calculate_average())  # 출력: 0

2) **kwargs 사용하기

**kwargs는 함수에 넘겨진 키워드 인자들을 딕셔너리로 묶어주는 역할을 합니다.
여기서도 kwargs는 관례적으로 사용되는 이름이며, ** 기호가 이 기능을 활성화합니다.

def create_profile(**userinfo):
    profile = []
    for key, value in userinfo.items():
        profile.append(f"{key.capitalize()}: {value}")
    return '\n'.join(profile)

# 사용자 프로필 생성 예시
profile_str = create_profile(name="주영", age=27, city="서울", hobby="낮잠")
print(profile_str)
# Name: 주영
# Age: 27
# City: 서울
# Hobby: 낮잠

지금까지 함수에 대해 알아보았습니다.
함수는 코드를 구조화하고 재사용하기 위해 필수적으로 알아야하는 도구입니다. 제 글이 여러분이 더 효율적인 프로그래밍을 하는데 도움이 되셨으면 좋겠습니다.

그럼 안뇽!


REFER

https://www.freecodecamp.org/news/python-functions-define-and-call-a-function/

profile
감자와 함께 떠나는 프로그래밍 여행

0개의 댓글