Python

(파이썬) 함수의 정의와 호출, 함수의 기본값, 가변 매개변수

코딩ABC 2023. 11. 14. 11:53
반응형

함수란 프로그램에서 특정 작업을 수행하는 재사용이 가능한 코드입니다.

함수를 이용하면 코드를 읽기 쉽게 하고 유지 보수를 편하게 하며 프로그램을 더 효율적으로 만들 수 있습니다.

 

파이썬에서는 다양한 방법으로 함수를 만들어 사용할 수 있습니다.

 

함수의 일반적인 정의는 다음과 같습니다.

def 함수명(매개변수들):
    함수 내용
    [return 반환값]

 

1. 매개변수가 없는 간단한 함수의 예

def hello():
    print("Hello!")

hello()
hello()

(Output)

Hello!

Hello!

 

2. 두 값을 더한 결과를 반환하는 함수

def plus(a, b):
    return a + b;

a=plus(10,20)
print(a)
print(plus(20, 30))

(Output)

30

50

 

3.  매개변수의 기본값

매개변수에 기본값을 설정하면, 더 다양한 방법으로 함수를 호출할 수 있습니다.

매개변수에 기본값을 설정하는 방법은 매개변수의 뒤에서 부터 기본값을 할당해야 합니다.

def func_1(a, b, c=0)
def func_1(a, b=0, c=0)
def func_1(a=0, b=0, c=0)

아래와 같이 기본값을 할당하면 오류입니다.
def func_1(a=0, b, c)      # 오류
def func_1(a=0, b=0, c)  #오류

 

def plus(a, b=0, c=0):
    return a + b + c

print(plus(10, 20, 30))
print(plus(10, 20))           
print(plus(10))

(Output)

60
30
10

 

4. 가변 매개변수: *params

매개변수에 '*' 문자를 사용하면 가변 매개변수를 받을 수 있습니다 - 개수가 일정하지 않은 매개 변수를 받을 수 있습니다.

이렇게 *params로 사용된 매개변수는 튜플(tuple) 형식으로 사용됩니다.

def plus(*params):
    print(type(params))
    print(params)
    
print(plus(10,20,30))

 

*params는 튜플 형식이기 때문에 튜플에서 사용할 수 있는 len(params), params[0]과 같은 연산이나 함수를 사용할 수 있습니다.

def plus(*params):
    s=0
    for a in params:
        s += a
    return s
    
print(plus(10,20,30))
print(plus(10,20,30,40,50))

(Output)

60

150

 

5. 가변 매개변수: **params

매개변수에 '**' 문자를 사용하면 가변 개수의 딕셔너리(dictionary) 형식의 매개변수를 사용할 수 있습니다.

def mydic(**dic):
    print(dic.keys())
    print(dic.values())
    print(dic['one'])

    for k in dic.keys():
        print(dic[k], end=' ')
    print()

mydic(one=1, two=2, three=3)

 

(Output)

dict_keys(['one', 'two', 'three'])
dict_values([1, 2, 3])
1
1 2 3 

파이썬, 가변 매개변수

 

 

반응형