💡 함수(Function) : 한 가지의 기능을 하는 코드 묶음. Input을 받아서 처리하고 Output을 돌려주는 코드.
Source : https://ko.wikipedia.org/wiki/함수#/media/파일:Function_machine2.svg
# function definition syntax example
def function1(a, b):
something = ...
<statement>
<statement>
...
...
return something
result = function1(3, 5)
<parameter1>
, <parameter2>
, ... )의 형태로 함수 prototype을 정한다.Refactoring
이라고 합니다.재사용성(Reusability)
가 향상됩니다. → 코드의 생산성 향상!def change_name(name):
print(f"2. {name}")
name = 'Park' # Local
print(f"3. {name}")
return name
name = 'Lee' # Global
print(f"1. {name}")
s = change_name(name)
print(f"4. {name}")
위 코드의 결과는
1. Lee
2. Lee
3. Park
4. Lee
이다.
위 예시에서 change_name함수를 거치고 나오는 4번 출력 결과가 Park이 아닌 Lee라는 사실을 통해 지역변수가 어떻게 돌아가는지 이해할 수 있다.
def add(x, y):
return x + y
l = lambda x, y: x + y
add(2, 3)
l(2, 3)
두 함수의 결과값은 5로 동일하다.
# 문자열의 길이를 기준으로 오름차순 정렬을 할때
strings = ['yoon', 'kim', 'jessica', 'jeong']
strings.sort(key=lambda x: len(x))
print(strings)
lambda function 활용의 대표적인 예시는 위와 같다.
꼭 기억하면 나중에 심심치 않게 잘 써먹을 수 있을 것이다!
:
사용이 중요하다.