Python/개념
11. [Python] 함수
프로그린
2024. 4. 24. 06:33
함수의 개념
- 입력값을 가지고 어떤 일을 수행한 후 출력하는 기능을 하는 것
- 반복적으로 사용하는 기능이 있을 경우 함수로 작성해 놓으면 유용함
파이썬 함수의 구조
일반적인 함수
- 함수의 생성
def 함수명(매개변수):
수행할 문장
...
return 반환할 값
- 함수의 사용
리턴값을 받을 변수 = 함수명(입력 인수1, 입력 인수2, ...)
def multiple(a, b):
return a+b, a-b, a*b, a/b
multiple(3, 2)
>>> (5, 1, 6, 1.5)
입력값이 없는 함수
- 함수의 생성
def 함수명():
수행할 문장
...
return 반환할 값
- 함수의 사용
리턴값을 받을 변수 = 함수명()
def smile():
return '^-^'
a = smile()
print(a)
>>>
^-^
리턴값이 없는 함수
- 함수의 생성
def 함수명(매개변수):
수행할 문장
...
- 함수의 사용
함수명(입력 인수1, 입력 인수2, ...)
def introduce(grade, class_no, name):
print(f'저는 {grade}학년 {class_no}반 {name}입니다.')
introduce(3, 1, '짱구')
>>>
저는 3학년 1반 짱구입니다.
입력값도, 리턴값도 없는 함수
- 함수의 생성
def 함수명():
수행할 문장
...
- 함수의 사용
함수명()
def bark():
print('멍멍')
bark()
>>> 멍멍
함수에서 다양한 형태로 입력값 받기
여러개의 입력값을 받는 함수
- 함수의 생성
def 함수명(*매개변수):
수행할 문장
...
- 함수의 사용
함수명(입력 인수1, 입력 인수2, ...)
def add_num(*arg):
result = ''
for a in arg:
result += str(a)
return int(result)
add_num(1, 2, 3, 4)
>>> 1234
- 매개변수 이름 앞에 *을 붙이면 여러개의 입력값을 원소로 가지는 튜플을 입력값으로 받음.
- 함수의 매개변수로 *args 하나만 사용할 수 있는 것은 아님.
키워드 매개변수
def test(**kwargs):
for k, v in kwargs.items():
print(f'{k}는 {v}')
test(개 = '멍멍', 고양이 = '야옹')
>>> 개는 멍멍
고양이는 야옹
- 키워드 매개변수를 사용할 때는 매개변수 앞에 별 2개(**)를 붙임.
- 매개변수 kwargs는 딕셔너리가 되고 모든 Key=Value 형태의 입력값이 그 딕셔너리에 저장됨.
lambda 예약어
- lambda는 함수를 생성할 때 사용하는 예약어로, 함수를 한줄로 간결하게 만들때 사용
- lambda로 만든 함수는 return 명령어가 없어도 표현식의 결과값을 리턴함.
함수명 = lambda 매개변수1, 매개변수2, ... : 매개변수를 이용한 표현식
test = lambda a, b : a ** 2 + b
test(2, 3)
>>> 7