1. 함수의 기본 구조
① 함수 정의 : def
② 함수 본문 : 함수가 실행할 동작
③ 리턴값(선택) : return으로 함수가 값을 반환 가능
def add(a, b): # add라는 함수를 정의하고, a와 b를 인자로 받는다.
result = a + b # a와 b를 더한 값을 result에 저장한다.
return result # result를 반환한다.
print(add(10, 20)) # add 함수를 호출하고, 인자로 10과 20을 전달한다. TERMINAL
TERMINAL
30
2. 입력값이 없는 함수
- 외부에서 값을 받지 않고
자체적으로 어떤 작업을 실행하는 함수
def say(): # 함수 정의
return "Hi" # 반환 값
a = say() # 함수 호출
print(a) # Hi 출력
TERMINAL
Hi
3. 리턴값이 없는 함수
- 보통 작업 결과를 화면에 출력하거나 파일에 저장하는 등의 역할을 하며,
함수가 실행된 결과를 반환하지 않는 함수
#리턴값이 없는 함수
def add_without_return(a, b):
print(f"{a}와 {b}의 합은 {a + b}입니다.") # 결과를 화면에 출력
result = add_without_return(3, 5) # 결과는 화면에 출력되지만 반환값은 None
print(result) # None 출력
TERMINAL
None
#리턴값이 있는 함수
def add_with_return(a, b):
return a + b # 계산 결과를 반환
result = add_with_return(3, 5) # 반환값을 변수에 저장
print(result) # 8 출력 (반환값 사용 가능)
print(add_with_return(10, 20)) # 30 출력 (반환값 바로 출력 가능)
TERMINAL
30
4. 입력값도, 리턴값도 없는 함수
- 외부에서 값을 받거나 결과를 반환하지 않고
단순히 내부 작업만 수행하는 함수
def add(a, b):
print("%d, %d의 합은 %d입니다" %(a , b, a+b))
a = add(3, 4)
print(a)
TERMINAL
None
5. 매개변수 지정
- 인수의 순서를 신경쓰지 않고 특정 매개변수에 직접 값을 할당할 수 있음
def sub(a, b):
return a- b
result = sub(a=10, b=5)
print(result)
TERMINAL
5
6. 여러 입력값을 받는 함수
def add_many(*args): # *args는 매개변수로, 입력값을 모두 모아서 튜플로 만들어줌
result = 0 # 초기값
for i in args: # args에 있는 모든 값을 더한다
result = result + i # result는 누적된 값
return result # 누적된 값을 반환한다
# 예시 1
result = add_many(1,2,3) # 1,2,3을 더한 값을 result에 저장
print(result)
TERMINAL
6
# 예시 2
result = add_many(1,2,3,4,5,6,7,8,9,10) # 1부터 10까지 더한 값을 result에 저장
print(result)
TERMINAL
55
def add_mul(choice, *args):
if choice == "add": # choice에 "add"가 입력되면
result = 0 # result에 0을 저장
for i in args: #args에 입력된 값을 하나씩 꺼내서 i에 저장
result = result + i # result에 i를 더함
elif choice == "mul": # choice에 "mul"이 입력되면
result = 1 # result에 1을 저장
for i in args: # args에 입력된 값을 하나씩 꺼내서 i에 저장
result = result * i # result에 i를 곱함
return result # result값을 반환
result = add_mul("add", 1, 2, 3, 4, 5) # add_mul 함수에 "add"와 1, 2, 3, 4, 5를 입력하여 result에 저장
print(result)
TERMINAL
15
#2
result = add_mul('mul', 1,2,3,4,5) # add_mul함수에 "mul"과 1,2,3,4,5를 입력하고 result에 저장
print(result)
TERMINAL
120
7. 키워드 매개변수, kwargs
- kwargs는 keyword arguments의 약자로,
함수를 호출할 때 인자 이름과 값을 쌍으로 전달할 수 있는 방식
ex) name ='foo'
- 딕셔너리는 키와 값을 쌍으로 저장하는 자료형
즉, kwargs는 함수에 전달된 키워드 인자들을 딕셔너리 형태로 저장한다는 의미
def print_kwargs(**kwargs): # **kwargs는 keyword arguments의 약자로, 키워드 인자를 딕셔너리로 저장
print(kwargs) # 딕셔너리로 저장된 키워드 인자를 출력
print_kwargs(name='foo', age=3)
TERMINAL
{'name': 'foo', 'age': 3}
반응형
'Data Science > Python' 카테고리의 다른 글
파이썬 6 | add · remove · discard · pop · clear · update · union (0) | 2025.01.20 |
---|---|
파이썬 입문 5 | info() · dropna() · fillna() · interpolate() (0) | 2025.01.19 |
파이썬입문 4 | shape · head() · is_null() (0) | 2025.01.19 |
파이썬 입문 3 | import · read_csv() (0) | 2025.01.19 |
파이썬 입문 1 | If · For · While (0) | 2025.01.14 |