1. 함수란?
재사용 가능한 코드 블록으로 특정 작업을 수행하는 코드의 집합니다.
2. 함수 정의와 호출
함수를 정의하는 방법은 def 키워드를 사용하는 것이다.
함수의 몸체는 콜론 ( : )을 적고 들여쓰기를 통해 구분한다.
2.1 함수 정의
- 함수명 : 함수를 호출할 때 사용하는 이름
- return : 함수의 결과값을 반환하는데 사용된다.
# 함수 정의
def 함수명(매개변수):
# 실행할 코드
return 반환값
# 함수 호출
함수명(인자)
2.2 함수 호출
함수명과 괄호를 사용하여 호출할 수 있다.
인자가 필요하면 괄호안에 순서대로 작성한다.
# 함수 정의
def 함수명(매개변수):
# 실행할 코드
return 반환값
# 함수 호출
함수명(인자)
2.3 반환 값
return 문을 사용해서 함수를 호출한 곳으로 값을 반환할 수 있다.
def my_function(x):
return 5 * x
print(my_function(3)) # 15
3. 매개변수와 인자
3.1 매개변수와 인자
- 매개변수 : 함수에 전달되는 입력값으로 외부에서 값을 받을 수 있다.
- 인자 : 함수를 호출할 때 실제로 전달하는 값
def my_function(name): #name 은 매개변수
print(f"Hello, {name}")
my_function("John") # "John"은 인자
3.2 키워드 인자
함수 호출 시 인자의 이름을 명시적으로 지정할 수 있다.
따라서 인자의 순서를 변경할 수 있습니다.
def my_function(child3, child2, child1):
print("The youngest child is " + child3)
my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")
4. 가변 매개변수 인자
- *args : 여러 개의 위치 인자를 튜플로 받는다.
- **kwargs : 여러 개의 키워드 인자를 딕셔너리로 받는다.
def function_example(*args):
for arg in args:
print(arg)
function_example("hello", "world", 1, 2, 3)
def function_example2(**kwargs):
for key, value in kwargs.items():
print(f"{key} = {value}")
function_example2(a=1, b=2, c=3)
5. 람다 함수
이름이 없는 함수로, lambda 키워드를 사용해서 생성한다.
간단한 함수를 한 줄로 표현할 수 있게 해주는 익명 함수이다.
lambda arguments: expression
# arguments : 함수에 전달되는 인자
# expression : 함수의 반환 값으로 평가되는 표현식이다.
add = lambda x, y: x + y
print(add(5, 3)) # 출력: 8
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
print(squared) # 출력: [1, 4, 9, 16, 25]
6. global 변수
파이썬에서 전역 변수는 함수 내부나 외부에서 모두 접근할 수 있는 변수이다.
x = 10 # 전역 변수
def update():
global x # 전역 변수 x를 사용하겠다고 선언
x = 20 # 전역 변수의 값을 변경
update()
print(x) # 20 출력
'Language > Python' 카테고리의 다른 글
[Python] 예외 처리 (0) | 2024.04.27 |
---|---|
[Python] 파일 입출력 (0) | 2024.04.27 |
[Python] 패킹과 언패킹 (0) | 2024.04.24 |
[Python] 집합 (0) | 2024.04.24 |
[Python] 딕셔너리 (0) | 2024.04.24 |