Python

파이썬에서 함수를 다뤄보자

총알 2024. 6. 21. 21:28
728x90

모든 프로그래밍의 언어에는 함수라는 개념이 있다. 아니 있을 것이다...

함수를 사용하게 되면 소스코드가 굉장히 간결해지고 가독성도 좋아진다.

그래서 이번에는 프로그래밍에서 문법 다음으로 기본이 되는 함수에 대해서 알아볼 예정이다.

 

def 함수명():, 반환값 없음
def print_hello():
    print("hello python!")

print_hello()

################출력 결과################
hello python!

가장 간단한 형태의 함수이다. 입력하는 인자도 없고 반환되는 값도 없는 형태이다.

 

def 함수명(인자1, 인자2, ...):, 반환값 없음

 

def calculator_add(var1, var2):
    result = var1 + var2
    print("%d + %d = %d" %(var1, var2, result))

calculator_add(5, 1)

################출력 결과################
5 + 1 = 6

입력하는 인자값은 있지만 반환값은 없는 형태이다. 

 

def 함수명():, 반환값 있음
def result_div():
    return 8/2

result = result_div()

print("result = %d" %result)

################출력 결과################
result = 4

입력 인자값은 없지만 반환되는 값은 있는 함수 형태이다.

 

def 함수명(인자1, 인자2, ...):, 반환값 있음
def calculator_mul(var1, avr2):
    return var1*avr2

result = calculator_mul(3,7)
print("result = %d" %result)

################출력 결과################
result = 21

입력 인자값도 있고 반환값도 있는 함수 형태이다.

 

def 함수(*인자):
def print_sports(*arg):
    for sports in arg:
        print("sports :%s" %sports)

print_sports("soccer","baseball","ski")

################출력 결과################
sports :soccer
sports :baseball
sports :ski

입력할 인자 수가 정해지지 않았을 경우에는 *인자를 사용해서 위와 같이 함수를 선언할 수 있다.

 

def 함수(**인자):
def print_sports_member(**arg):
    for number in arg:
        print("%s member is %d" %(number, arg[number]))
    
print_sports_member(soccer = 11,baseball=9,basketball=5)

################출력 결과################
soccer member is 11
baseball member is 9
basketball member is 5

인자값에 **을 붙이게 되면 딕셔너리 형태로 인자를 받을 수 있다.

함수 선언 방법은 위 예제를 참고하자.

 

def 함수(인자1, 인자2, ...): 반환값 여러 개
def calculator(var1, avr2):
    result_add = var1 + avr2
    result_min = var1 - avr2
    result_mul = var1 * avr2
    result_div = var1 / avr2
    return result_add, result_min, result_mul, result_div

result = calculator(6,2)
result1, result2, result3, result4 = calculator(6,2)

print(result)
print(result1)
print(result2)
print(result3)
print(result4)

################출력 결과################
(8, 4, 12, 3.0)
8
4
12
3.0

위와 같이 반환값이 여러 개가 나오는 함수도 선언할 수 있다.

함수의 리턴 값을 받는 형태에 따라서 튜플로 반환받을 수 있기도 하고 요소값 하나씩 받을 수도 있다.

 

def 함수(인자1, 초기값 선언)
def howOldAreYou(name, age = 10):
    print("%s is %d years old" %(name, age))

howOldAreYou('kevin',10)
howOldAreYou('Alex',12)
howOldAreYou('Bob',3)
howOldAreYou('Jimmy')

################출력 결과################
kevin is 10 years old
Alex is 12 years old
Bob is 3 years old
Jimmy is 10 years old

위와 같이 함수를 선언할 때 초기값을 선언할 수도 있다.

인자값으로 초기값을 선언한 인자에 대해서 입력을 하지 않으면 초기값으로 입력이 되고

다른 인자값을 입력하게 되면 입력한 인자값으로 함수가 수행된다.

단, 초기값으로 선언하는 인자는 반드시 맨 뒤에 위치해야 한다.

728x90