반응형
파이썬(python) 함수
반복적인 코드를 함수로 작성하여 코드 작성을 간결하고, 효율적으로 만들 수 있습니다.
함수를 사용하면 코드 가독성, 오류 찾기, 흐름 파악하기에 좋습니다.
기본 구조
def는 함수를 만들 때 사용하는 예약어 (함수 선언)
def 함수명(매개변수):
<수행할 문장1>
<수행할 문장2>
...
- 예
# 함수 기본 구조 def sum(a, b): # sum이라는 함수명과 a,b 매개변수 선언 return a+b # return(결과값)은 a와 b의 합 print(sum(1, 2)) # sum함수에 a=1, b=2 값을 입력 # 실행 결과 3
여려 개의 입력값을 받는 함수
입력값이 여러 개인 경우 사용
매개변수 앞에 * 별 기호 한개를 사용하여 선언
def 함수명(*매개변수):
<수행할 문장>
...
- 예
def many(*args): result = 0 for i in args: result = result + i return result # *args 매개변수에 (1,2,3) 값이 들어가면 입력값을 튜플로 만들고, # 수행문에 따라 입력값을 모두 더하게 된다. # 결과적으로 many 함수의 수행 결과는 6이 나오게 된다.
키워드 매개변수 - kwargs
표현은 매개변수 앞에 ** 별 기호 두 개를 사용하여 선언합니다.
키워드 매개변수 kwargs는 딕셔너리 형태(key:value)로 저장되는 것을 말합니다.
kwargs는 keyword arguments 의 약자
- 예
# kwargs 함수 선언, 매개변수는 키워드 형태 def kwargs(**kwargs): print(kwargs) # kwargs 함수 호출 kwargs(abc=123) # 실행 결과 (딕셔너리 형태로 출력) {'abd':123}
여러값 리턴하기
def add_mul(a,b):
return a+b,a*b
res = add_mul(2,3)
위와 같이 호출한다면 res 변수에는 (a+b,a*b)하나의 튜플값이 리턴된다.
즉, res = (5, 6)의 결과를 가지게 된다.
이 결과를 나누고 싶다면 다음과 같이 함수를 호출 하면된다.
res1, res2 = add_mul(2, 3)
이렇게 호출하게되면 res1는 5 를, res2는 6의 결과를 나눠 가지게 된다.
람다(lambda) 형식
함수 예약어 def와 동일하게 역할을 하고, 일반적으로 간단하게 표현 할 때 주로 사용한다.
add = lambda a, b: a+b
res = add(2, 3)
print(res)
# 결과
5
반응형
'프로그래밍_기타 언어' 카테고리의 다른 글
파이썬(python) while문 (0) | 2024.09.22 |
---|---|
파이썬(python) if문 (0) | 2024.09.22 |
파이썬(python) for문 (0) | 2024.09.22 |
파이썬(python) 모듈 사용 (0) | 2024.09.22 |
파이썬(python) 파일 읽고 쓰기 (0) | 2024.09.22 |