Python 함수

이정빈·2023년 6월 28일
0

python

목록 보기
8/8

Python Cook Book


안녕하세요 이번 시간에는 Python 함수에 대해서 알아보겠습니다.


함수란?


함수란 입력값을 가지고 어떤 일을 수행한 후 그 결과물을 내놓는 것입니다.
이러한 함수는 프로그래밍에서 지정 기능을 실행하고, 코드의 가독성과 프로그램의 효율성을 증대합니다.


함수의 사용 형태


함수의 구성 요소인 매개변수와 반환값은 항상 꼭 포함되어야 하는 것이 아니라 필요에 따라 생략 가능합니다.

함수 정의는 'def' 키워드를 사용하여 정의합니다. 함수 정의는 다음과 같은 구조입니다.

함수이름에는 정의할 함수의 이름을 적어줍니다.
매개변수는 함수에 전달되는 입력 값으로, 위에서 말했듯 필요에 따라 생략할 수 있습니다.


매개변수


위에서 간단히 설명했지만 더 자세히 설명해보겠습니다.
매개변수는 함수 호출 시 값을 전달받는 데 사용되며, 함수 내에서 해당 값을 활용하여 원하는 작업을 수행할 수 있습니다.
이를 통해 함수를 재사용 가능하고 유연하게 만들 수 있습니다.

가변인자

가변인자는 함수 정의에서 임의의 개수의 인자를 받을 수 있는 매개변수입니다. 가변인자는 '*'를 사용하여 표시하며, 함수 내에서 튜플 형태로 처리됩니다.

위의 예시에서 my_print()은 *args라는 가변인자를 가지고 있습니다.
함수가 호출될 때 넘어오는 모든 인자들이 튜플 args에 저장되고, 함수 내에서 이를 반복문을 통해 접근하여 처리할 수 있습니다.

키워드 매개변수

키워드 매개변수는 함수 호출 시 인자를 특정 키워드와 함께 지정하여 전달하는 매개변수입니다.
이를 통해 인자의 순서를 신경쓰지 않고 명시적으로 전달할 수 있습니다.
키워드 매개변수는 **를 사용하여 표시하며, 함수 내에서 딕셔너리 형태로 처리됩니다.

위의 예시에서 info() 함수는 **kwargs라는 키워드 매개변수를 가지고 있습니다. 함수가 호출될 때 넘어오는 키워드 인자들이 딕셔너리 kwargs에 저장되고, 함수 내에서 이를 반복문을 통해 접근하여 처리할 수 있습니다.

가변인자와 키워드 매개변수는 함수 정의 시 사용하는 것이며, 함수 호출 시에는 해당 매개변수에 전달되는 값을 적절하게 지정하여 사용하면 됩니다. 이를 통해 다양한 인자의 개수와 순서를 유연하게 처리할 수 있습니다.


반환 값


반환값은 함수가 수행한 결과를 호출자에게 돌려주는 값입니다. 함수가 어떤 계산이나 작업을 수행하고 그 결과를 사용하고자 할 때 반환값을 활용합니다.

함수에서 반환값을 지정하기 위해서는 return 키워드를 사용합니다. return 키워드 다음에 오는 표현식은 함수의 실행 결과로 반환됩니다. 반환값이 없는 경우에는 return 문을 생략하거나 return만 작성하여 함수를 종료할 수 있습니다.

위의 코드에서 add_numbers() 함수는 인자로 전달받은 a와 b를 더한 값을 return을 사용하여 반환합니다. 함수를 호출한 결과는 result 변수에 저장되고, 이후 출력되는 값은 함수의 반환값인 7입니다.

또한, get_programming() 함수는 name이 "Python"인 경우에는 "Hello, Python!"를 반환하고, 그 외의 경우에는 "Hello, stranger."를 반환합니다. get_greeting("Clang")을 호출한 결과는 greeting 변수에 저장되고, 출력되는 값은 "Hello, stranger."입니다.

함수의 반환값을 활용하여 함수의 결과를 변수에 저장하거나 다른 연산에 활용할 수 있습니다. 반환값은 함수가 완료되면 호출자에게 돌려지므로, 함수의 결과를 적절히 활용하여 프로그램을 구성할 수 있습니다.


전역변수와 지역변수


파이썬에서 변수는 전역 변수(Global Variable)와 지역 변수(Local Variable)로 나눌 수 있습니다.

전역 변수

전역 변수는 함수 외부에서 정의된 변수로서, 프로그램 전체에서 접근 가능한 변수입니다. 전역 변수는 프로그램 어디에서든지 사용할 수 있으며, 함수 내에서도 참조할 수 있습니다.

위의 예시에서 'global_var'는 함수 외부에서 정의된 전역 변수입니다. my_function() 함수 내에서도 전역 변수를 참조하여 사용할 수 있습니다.

지역 변수

지역 변수는 함수 내부에서 정의된 변수로서, 해당 함수 내에서만 접근 가능한 변수입니다. 지역 변수는 함수가 호출될 때 생성되며, 함수가 종료되면 소멸합니다.

위의 예시에서 local_var는 my_function() 함수 내에서 정의된 지역 변수입니다. 함수 내에서만 사용할 수 있으며, 함수 외부에서는 접근할 수 없습니다. 따라서 my_function()을 호출한 이후에 local_var를 사용하면 NameError가 발생합니다.



마무리


오늘은 Python 함수에 대해서 알아보았습니다.
함수를 적절히 사용하면 깔끔하고 좋은 코드를 짤 수 있기 때문에 알아두면 좋습니다.
profile
안녕하세요

0개의 댓글