study gomi

[Python|파이썬] 기본 문법 - 함수 본문

basic/python

[Python|파이썬] 기본 문법 - 함수

공부하곰 2024. 1. 2. 20:55
728x90
반응형

공부 참고 : https://wikidocs.net/24

 

04-1 함수

`[동영상 강의]` : [점프 투 파이썬 04-1 함수](https://www.youtube.com/watch?v=d4NBeJzxwKQ&list=PLGSQkvB9T6rvnDop8…

wikidocs.net

 

함수

- 어떤 동작을 수행하는 코드들의 묶음

- 여러 곳에서 동일하게 반복적으로 사용되는 코드를 하나로 만듦

- 사용법은 예약어 def 함수명(전달 값): 수행할 문장

- 실제 수행을 원하면 이 함수를 호출해주어야 함

 

함수의 반환값

- 함수 내에서 어떤 동작이나 연산을 수행 후 호출한 쪽으로 돌려주는 값

- 반환 즉시 함수를 탈출한다.

- 반환 값은 언제나 한 개

# 입력값이 없는 함수
# 반환값 있음
 def say(): 
     return 'Hi' 

# 입력값이 있는 함수
# -> 전달값 2개(여러 개)
# 반환값 있음
def add(a, b): 
    return a + b
    
# 입력값 있음
# -> 전달값 2개(여러 개)
# 반환값 없음
def add(a, b): 
     print("%d, %d의 합은 %d입니다." % (a, b, a+b))

# 입력값, 반환값 모두 없음
 def say(): 
     print('Hi')

 

기본값

- 전달값에 기본으로 사용되는 값

- 기본 값이 있으면 그냥 호출해도 기본값으로 설정이 됨.

- 특정 전달 값만 전달하고 나머지는 기본 값으로 사용하고 싶다면 그렇게 해도 됨(키워드 값)

def get_change(is_10 = True, is_20 = False, is_50 = True, is_100 = True):
	print(is_10, is_20, is_50, is_100)

check_change = get_change(is_100 = False, is_50 = False)

 

매개변수와 인수

- 매개변수는 함수에 입력으로 전달된 값을 받는 변수 (함수 내부에서만 유효)

- 인수는 함수를 호출할 때 전달하는 입력값을 의미한다.

def add(a, b):  # a, b는 매개변수
    return a+b

print(add(3, 4))  # 3, 4는 인수

 

가변인자

- 함수의 전달값의 개수가 바뀔 수 있을 때

- 전달값이 몇 개인지 모를 때

- 전달 값 앞에 *을 찍어서 사용 -> 입력값 전체 묶어서 튜플 형태로 받게 됨.

- 마지막에 한 번만 사용할 수 있음.

def add_mul(choice, *args): 
	# 매개변수 choice에 "add"를 입력받았을 때
    if choice == "add":   
        result = 0 
        for i in args: 
            result = result + i 
    # 매개변수 choice에 "mul"을 입력받았을 때
    elif choice == "mul":   
        result = 1 
        for i in args: 
            result = result * i 
    return result

 

키워드 매개변수 (kwargs)

- 매개변수의 이름을 지정하여 전달하는 방법

- 딕셔너리 형태로 전달

- 매개변수 앞에 ** 붙여서 사용.

def func1(**kwargs):
	print(kwargs)

def func2(**kwargs):
    for key, value in kwargs.items():
        print(key, value)

func1(name='foo')
func1(age='3')
func2(name='foo', age=3)

 

728x90
반응형