프로그래밍/파이썬 에러 모음

파이썬 복습 ( 함수 )

Jay_rock 2020. 3. 25. 03:20

함수란 ?

함수(function) 란 어떤 일을 수행하는 코드의 덩어리 혹은 코드의 묶음을 말한다.

 

#함수의 예시

def calculate_rectangle_area(x,y):      # 직사각형 넓이를 구하는 함수 선언
	return x*y
    
rectangle_x = 10
rectangle_y = 20

print("사각형 x의 길이:",rectangle_x)
print("사각형 y의 길이:",rectangle_y)

# 넓이를 구하는 함수 호출
print("사각형의 넓이:",calculate_rectangle_area(rectangle_x, rectangle_y))

실행 결과

사각형 x의 길이: 10

사각형 y의 길이: 20

사각형의 넓이: 200

 

 

함수의 장점

 

1. 필요할 때마다 호출 가능하다. 

2. 논리적인 단위로 분할 가능하다. 

3. 코드의 캡슐화 ( 캡슐화란 ) 

 

 

 

함수의 인수

종류 내용
키워드 인수 함수의 인터페이스에 지정된 변수명을 사용하여 함수의 인수를 지정하는 방법
디폴트 인수 별도의 인수값이 입력되지 않을 때, 인터페이스 선언에서 지정한 초깃값을 사용하는 방법
가변 인수 함수의 인터페이스에 지정된 변수 이외의 추가 변수를 함수에 입력할 수 있게 지원하는 방법
키워드 가변 인수 매개변수의 이름을 따로 지정하지 않고 입력하는 방법

 

 

1. 키워드 인수 (keyword arguments)

-함수에 입력되는 매개변수의 변수명을 사용하여 함수의 인수를 지정

 

def print_something(my_name, your_name):
	print("Hello {0}, My name is {1}".format(your_name,my_name))
    
print_something("NERD", "JS")
print_something(your_name = "JS", my_name = "NERD")

실행 결과

Hello JS, My name is NERD

Hello JS, My name is NERD

 

 

2. 디폴트 인수 (default arguments)

-매개변수에 기본값을 지정하여 사용하고, 아무런 인수로 넘기지 않으면 기본값을 사용하는 방식

 

def print_something_2(my_name, your_name="JS"):
	print("Hello {0}, My name is {1}".format(your_name,my_name))
    
print_something_2("NERD","JS")
print_something_2("NERD")    #your_name의 값이 없기 때문에 default 값인 "JS"가 자동으로 대입된다.

실행 결과

Hello JS, My name is NERD

Hello JS, My name is NERD

 

 

3. 가변 인수 (variable-length arguments)

-함수의 매개변수 개수가 정해지지 않음 

 

def asterisk_test(a,b, *args):
	return a + b + sum(args)       
    
print(asterisk_test(1,2,3,4,5))  # *args 인수에 나머지 숫자들(3,4,5)이 들어간다.

실행 결과

15

 

※ 가변 인수는 * 로 표현, 파이썬에서는 *가 곱셈과 제곱 연산 외에도 변수를 묶어 주는 가변 인수를 만드는 데 사용한다. 

 

 

-언패킹

더보기

언패킹은 가변 인수 안에 값들을 나누는 것

def asterisk_test_2(*args):
	x, y, *z = args
    return x,y,z
    
print(asterisk_test_2(3,4,5,10,20))

실행 결과

(3, 4, [5, 10, 20])

 

 

4. 키워드 가변 인수 (keyword variable-length arguments) 

- 매개변수의 이름을 따로 지정하지 않고 입력하는 방법

- 이전 가변 인수와는 달리 *를 2개 사용하여 함수의 매개변수를 표시한다.

- 입력된 값은 튜플 자료형이 아닌 딕셔너리 자료형으로 사용할 수 있다.

- 키워드 가변 인수는 반드시 모든 매개변수의 맨 마지막, 즉 가변 이수 다음에 선언되어야 한다.