[함수 종류]
➖ 내장 함수(built -in function): 사전에 정의된 함수
len(): 자료형 길이 측정print() : 변수 출력➖ 사용자 정의 함수(user define function): 내가 필요해서 만든 함수
[함수 구성요소]
def 함수이름 (매개변수1, 매개변수2):
수행할_코드1
수행할_코드2
return 결괏값
➖ 함수에서 봐야 할 3가지
➖ def 함수 만들 때 사용하는 예약어 (define)
➖ 함수 이름 뒤 괄호 안 매개변수는 이 함수에 입력으로 전달되는 값을 받는 변수
➖ 함수 정의 후 if, while, for문 등과 마찬가지로 함수에서 수행할 문장 입력
def add(a, b) #add가 내가 만드려는 함수 이름
return a + b # add함수는 매개변수인 a랑 b를 더하는 것이란 의미, 리턴값(출력값)이 2개의 입력값을 더한 값
print(add(12, 23)) # 출력값 35
print(add("ab", "bc")) # 출력값 abbc
[return과 print]
➖ return: 정의된 함수를 호출한 결과로 반환(return) 받는 값
➖ return 기능
None 출력➖ 함수가 반드시 어떤 값을 return 할 필요 X (기본적으로 return None O)
➖ 활용 사례 : 광고 예산 대비 클릭 수 분석 시 CTR 계산하는 함수 작성 필요
# return 사용: CTR 계산 결과 돌려줌
def get_ctr(clicks, impressions): # get_ctr 함수로 지정 # clicks, impressions 매개변수
ctr = clicks / impressions * 100 # ctr 구하는 방법
return ctr # return 시 ctr 구하는 방법으로 리턴값 도출
a = get_ctr(50, 1000) # a는 광고 1 클릭률 계산 후 저장
print("a 변수에 저장된 CTR 값:", a)
# 출력값: a 변수에 저장된 CTR 값: 5.0
#print 사용: ctr 그냥 출력만 함
def show_ctr(clicks, impressions):
ctr = clicks / impressions * 100
print(f"ctr: {ctr}%") # print 시 ctr이 몇 % 인지만 출력 가능
b = show_ctr(50, 1000)
print("b 변수에 저장된 CTR 값", b)
# 출력값: ctr: 5.0% b 변수에 저장된 CTR 값 None
➡️ return 사용 시 CTR 계산한 결과 출력하고 저장하여 활용 가능
➡️ print 사용 시 CTR 값 출력만 가능
[함수 추가 정보]
➖ 파라미터 없는 함수
def say():
return 'Hi'
➖ 여러 개 값 return
: 반환값이 여러 개일 경우 반환하는 결과형 = Tuple(튜플)
def add3(a,b):
result = a + b
return result, result**2
print(add3(3,4)) # 출력값: (7, 49)
➖ 지역변수
: 반복문과 유사하게 함수 안에서 선언된 함수는 함수 내부에서만 사용
⭐️ 함수 밖에서는 접근 불가
def get_sqaure(x):
a = 3
return x, x**2
print(a) # 출력값: 5.0 --> error
# 4 print(a)
# NameError: name 'a' is not defined
➖ 전역변수
: 함수 밖에서 선언된 변수는 함수 안에서 활용 가능 (읽기만 가능)
b = 3
def get_square():
return b**2
get_square() # 출력값: 9
🔻🔻🔻 함수 안에서도 전역변수 값 바꾸려면 global이라는 키워드 사용해야 수정 가능
budget = 1000 # 전역 변수 (광고 예산)
def spend_money():
global budget # 전역 변수를 수정하려면 반드시 global 선언 필요
budget -= 200
print("200만 원 지출 후 남은 예산:", budget)
spend_money()
print("현재 남은 총 예산:", budget)
# 출력값: 200만 원 지출 후 남은 예산: 800
# 출력값: 현재 남은 총 예산: 800