곧 공채시즌이라 이직을 위한 이력서 업데이트도 하면서 공부도 하려니 이번주는 정신이 없네요...ㅎㅎ
이번 주는 공부를 많이 못한 것 같아 아쉽습니다 🥲
매주 숙제 제출할 때 마다 족장님이 달아주시는 폭풍 칭찬이 쑥쓰럽기도 하고, 또 이번주도 꼭 해야지 라고 다짐하는 원동력이 되기도 합니당! ㅎㅎ 😎 (칭찬 조아..)
올해는 공부와 이직 두 마리 토끼를 다 잡을 수 있도록 열심히 해보겠습니다! 🫡
Chapter 05. 함수
[함수 만들기]
✏️ 함수 : '코드의 집합' 을 의미한다. 함수를 사용하는 것을 함수를 호출한다고 표현한다.
def 함수 이름(): 문장 |
# print 함수를 세번 수행하는 함수 print_test() 생성 후 호출
def print_test():
print("안녕하세요")
print("안녕하세요")
print("안녕하세요")
print_test()
# 출력
안녕하세요
안녕하세요
안녕하세요
[선택 미션 : 매개변수, 기본 매개변수, 가변 매개변수에 대해 간략하게 정리하기]
✏️ 매개변수란?
함수를 호출할 때 괄호 사이에 들어가는 자료들을 매개변수라고 한다. 매개변수는 함수 생성 시 입력한다.
★ 함수 생성 시 매개변수를 만들면, 함수를 호출할 때 매개변수 자리에 입력한 값을 함수 내에서 사용할 수 있다.
★ 함수에 매개변수를 만들었는데, 호출 시 매개변수를 넣지 않거나 갯수를 다르게 넣은 경우 오류가 발생한다!
def 함수 이름(매개변수, 매개변수, ...): 문장 |
# 매개변수 value, n 추가한 함수 생성
def print_test_number(value, n):
for i in range(n):
print(value)
print_test_number("테스트입니다", 3)
# 출력
테스트입니다
테스트입니다
테스트입니다
✏️ 가변 매개변수란?
매개변수의 개수가 변할 수 있다는 의미이며, 매개변수를 원하는 만큼 받을 수 있는 함수를 가변 매개변수 함수라고 한다.
★ 가변 매개변수는 하나만 사용할 수 있으며, 가변 매개변수 뒤에는 일반 매개변수가 올 수 없다.
✔️ 가변 매개변수는 맨 뒤에 배치하고, 함수 내에서는 리스트처럼 사용한다.
def 함수 이름(매개변수, 매개변수, ... , *가변 매개변수): 코드 |
def print_test_number(n, *value):
for i in range(n):
print(value)
print_test_number(3, "파이썬", "가변매개변수","테스트입니다")
# 출력
('파이썬', '가변매개변수', '테스트입니다')
('파이썬', '가변매개변수', '테스트입니다')
('파이썬', '가변매개변수', '테스트입니다')
✏️ 기본 매개변수란?
매개변수를 입력하지 않았을 경우에 대비해 매개변수에 들어갈 기본값을 지정할 수 있는데, 이를 기본 매개변수라고 한다.
★ 기본 매개변수 뒤에는 일반 매개변수가 올 수 없다.
def 함수 이름(매개변수, 매개변수=값): 문장 |
def print_test_number(value, n=2):
for i in range(n):
print(value)
# 함수 호출 시 매개변수 n을 입력하지 않아서 기본값 2가 사용됨
print_test_number("테스트입니다")
#출력
테스트입니다
테스트입니다
✏️ 키워드 매개변수
기본적으로 가변 매개변수와 기본 매개변수 뒤에는 일반 매개변수가 올 수 없다. 파이썬에서는 매개변수 순서를 원하는 대로 입력하기 위해서 키워드 매개변수를 제공한다.
키워드 매개변수는 함수 호출 시 매개변수 이름을 지정해서 입력한다.
def 함수이름 (매개변수 a, 매개변수 b = 10): 코드 # 함수 호출 함수이름(10, 매개변수 b = 20) # 함수 호출 시 매개변수 이름을 지정해서 입력 |
def function_test(a, b=10, c=20):
print("{}, {}, {}".format(a,b,c))
# 기본 매개변수만 사용
function_test(10,100,200)
>> 10, 100, 200
# 키워드 매개변수 사용
function_test(a=20, b = 0 , c = 10)
>> 20, 0, 10
# 키워드 매개변수 사용, 매개변수 순서 변경
function_test(c=1, a=2, b=3)
>> 2, 3, 1
# 키워드 매개변수로 일부 매개변수만 지정
function_test(9,c=11)
>> 9, 10, 11
★ 키워드 매개변수를 사용하여 필요한 매개변수에만 값을 전달할 수 있다.
[리턴]
함수를 실행하고 난 후 받아오는 결과를 리턴값(return value) 이라고 한다.
✏️ return 키워드
✅ 함수 내부에 사용하며, 함수를 실행했던 위치로 돌아가라는 뜻으로 함수가 끝나는 시점을 의미한다.
✅ return 키워드만 사용 시 자료 없이 리턴하며, return 뒤에 자료를 입력하면 자료를 가지고 리턴한다.
# 자료 없이 리턴하는 예시
def function_1():
print("첫번째 print")
return # 3번 라인 까지만 수행하고 함수가 종료된다.
print("두번째 print")
function_1()
# 출력
첫번째 print
# 자료를 가지고 리턴하는 예시
def function_test2():
return 100 # 100 을 반환한다.
value = function_test2()
print(value)
# 출력
100
✏️ 함수의 활용
✅ 일반적으로 함수 내에서 값을 만들어 리턴하는 형태로 사용
def 함수(매개변수): 변수=초기값 # 여러가지 처리 # 여러가지 처리 return 변수 |
[기본 미션 : p.287 [직접 해보는 손코딩: 범위 내부의 정수를 모두 더하는 함수] 실행 후 코드가 입력된 화면 및 실행 결과 화면 캡쳐하기 ]
[함수 고급]
✏️ 튜플(tuple) : 리스트와 비슷한 자료형으로, 한번 결정된 요소는 바꿀 수 없다.
변수 = (데이터, 데이터, 데이터, ...) # 주의할 점 : 요소를 하나만 가지는 튜플은 아래와 같이 선언한다! 변수 = (데이터, ) |
# 튜플 선언
tuple_test = (1,2,3)
print(tuple_test[0]) # 1
print(tuple_test[1]) # 2
print(tuple_test[2]) # 3
✅ 리스트와 튜플은 다음과 같은 형태로 변수를 선언하고 할당할 수 있다. 또한 튜플은 괄호를 생략할 수도 있다.
# 리스트의 요소 a,b 에 각각 1, 2 할당 [a, b] = [1, 2] # 튜플의 요소 c,d에 각각 10,20 할당 (c,d) = (10,20) |
#리스트 할당 구문
[a,b] = [1,2]
print(a) # 1
print(b) # 2
# 튜플 할당 구문
(c,d) = (10,20)
print(c) # 10
print(d) # 20
# 괄호가 없는 튜플
tuple_test = 1,2,3,4,5
print(tuple_test) # (1, 2, 3, 4, 5)
print(tuple_test[2]) # 3
# 괄호가 없는 튜플
a,b,c = 10, 20, 30
print(a) # 10
print(b) # 20
print(c) # 30
✅ 함수의 리턴에 튜플을 사용하면 여러개의 값을 리턴하고 할당할 수 있다.
# 여러개의 값 리턴
def test():
return (10,20)
# 리턴한 값 각각 a,b에 할당
a,b = test()
print(a) # 10
print(b) # 20
✏️ 람다 : 매개변수로 함수를 전달하기 위해 간단하게 1회용 함수를 선언하는 방법
✅ 매개변수로 함수를 전달하기 위해 함수 구문을 작성하는 것이 번거롭기 때문에 파이썬에서 제공하는 방법
✅ 람다를 사용하면 코드를 깔끔하게 작성할 수 있고, 매개변수로 넣어진 함수를 파악하기도 쉽다.
lambda 매개변수 : 리턴값 |
# 람다 함수 선언
lambda_test = lambda x : x < 3
list_a = [1,2,3,4,5]
# 람다는 매개변수로 바로 넣을 수 있다.
output_a = map(lambda x : x * x, list_a)
print(list(output_a)) # [1, 4, 9, 16, 25]
'개발 > 혼공학습단_11기' 카테고리의 다른 글
[혼공파] 혼자 공부하는 파이썬_6주차 (0) | 2024.02.15 |
---|---|
[혼공파] 혼자 공부하는 파이썬_5주차 (0) | 2024.02.04 |
[혼공파] 혼자 공부하는 파이썬_3주차 (1) | 2024.01.21 |
[혼공파] 혼자 공부하는 파이썬_2주차 (2) (0) | 2024.01.13 |
[혼공파] 혼자 공부하는 파이썬_2주차 (1) (2) | 2024.01.13 |