[Python] 5. 함수
[Python] 5. 함수
1. function (함수) 이해하기
1) function (함수)
- 함수를 쉽게 생각하면, 기능에 이름을 붙여 사용하는 것.
- 파이썬의 내장함수
- print( ) : 문자열로 출력
- input( ) : 입력을 문자열로 변환
- 함수 정의하기 (define)
def 함수이름(): 수행할 코드
- 함수 정의
- 함수 호출
# 함수 정의
def menu():
print("오늘의 메뉴")
print("오늘 점심메뉴는 닭가슴살 입니다.")
print("내일의 메뉴")
print("내일 점심 메뉴는 소고기 입니다.")
# 함수 호출
menu()
# result
오늘의 메뉴
오늘 점심메뉴는 닭가슴살 입니다.
내일의 메뉴
내일 점심 메뉴는 소고기 입니다.
- 매개변수(parameter)
- 인자(argument)
# 매개변수(parameter)
def add(text1, text2):
# ''' 독스트링 ''' 을 통해 함수에대한 설명을 해주자.
''' 문자열 두개(성, 이름)을 입력받아서 합쳐서 출력하는 함수
args
text1: 성을 받는 문자열
text2: 이름을 받는 문자열'''
print(text1 + text2)
# 인자(argument)를 넣어 실행
add("홍", "길동")
# result
홍길동
- return
# return
def add(text1, text2):
# ''' 독스트링 ''' 을 통해 함수에대한 설명을 해주자.
''' 문자열 두개(성, 이름)을 입력받아서 합쳐서 출력하는 함수
args
text1: 성을 받는 문자열
text2: 이름을 받는 문자열'''
text = text1 + text2
return text
print(add("홍", "길동"))
# result
홍길동
- 끝말잇기 만들기
# 실습
# 끝말잇기 함수 만들기
def game(text):
while True:
print(text)
keyword = input("성공! 다음 끝말을 이어주세요 : ")
if text[-1] == keyword[0]:
text = keyword
else:
print("끝말잇기 실패! 게임을 종료합니다.")
break
game("운동")
# 운동 으로 시작!
2. 지역변수, 전역변수, 매개변수 이해하기
1) 지역변수 (Local Variable)와 전역변수 (Global Variable)
- 지역변수 (Local Variable)
- 함수 안에 선언된 지역변수
# 지역변수 (Local Variable)
def jeju_potato():
potato = "고구마" # 함수 안에 선언된 지역변수
print(potato)
jeju_potato()
- 전역변수 (Global Variable)
- 전역에서 모두 사용 가능한 변수
# 전역변수 (Global Variable)
potato = "감자" # 전역에서 모두 사용 가능한 변수
def jeju_potato():
print(potato)
jeju_potato()
print(potato)
# result
감자
감자
# 전역변수 (Global Variable)
potato = "감자"
def jeju_potato():
global potato # 전역변수 potato를 의미
print(potato)
potato = "고구마" # 지역변수 potato를 전역변수로 사용
print(potato)
jeju_potato()
# result
감자
고구마
2) 가변 매개변수
- 가변 매개변수
- “*” 을 통해 가변 매개변수 사용
# 가변 매개변수
# * 을 통해 가변 매개변수 사용
def add(*args):
sum = 0
for i in args:
sum += 1
print(sum)
add(10, 20, 30, 40)
- 키워드 매개변수
- 키워드 = 특정값 형태 {“키워드”:”특정값”}
- “**” 두개 사용
# 키워드 매개변수
# 키워드 = 특정값 형태 {"키워드":"특정값"}
# ** 두개 사용
def func_a(name, *args, address = "한국", **kwargs):
print(name, args, address, kwargs)
func_a("Kevv", "요즘", "사람", adress = "한국", 직업 = "개발자")
# result
Kevv ('요즘', '사람') 한국 {'adress': '한국', '직업': '개발자'}
- 실습
# 최대, 최소값 구하기
def max_min_search(*number):
max_num = number[0]
min_num = number[0]
for num in number:
if num > max_num:
max_num = num
elif num < min_num:
min_num = num
return max_num, min_num
print(max_min_search(15, 30, 4, 60, 7, 80, 32))
# result
(80, 4)
# 실습
# 최대, 최소값 구하기
# 방법 2 - 내장함수를 이용
def max_min_search(*number):
return max(number), min(number)
print(max_min_search(15, 30, 4, 60, 7, 80, 32))
# result
(80, 4)
- 내장함수 확인방법
Python 공식홈페이지 > documentation > Python Docs > Library Reference > Built-in Functions