Python 함수, 인수, 매개변수, lambda

dumbbelldore·2024년 11월 6일
0

zero-base 33기

목록 보기
7/97

1. 함수란?

  • 입력이 주어졌을 때 정의된 기능을 통해 출력을 반환하는 기능
  • ex) 3 → f(x) → 9, 8 → f(x) → 16
def my_func(x):
	return x * 3
    
print(my_func(3)) # 9
print(my_func(8)) # 16
  • 파이썬에서 기본적으로 제공하는 내장함수(ex. print())와 사용자가 직접 선언하는 사용자 함수(def 로 정의)로 구분
  • 반복되는 기능을 함수로 정의함으로써 코드의 재사용성이 향상됨

2. 사용자 함수

  • def add_calc(): 의 형식으로 정의
  • 둘째줄 부터는 들여쓰기(indent)를 활용하여 작성하여야 사용자 함수의 부분으로 인식됨
def add_calc(x, y):
	sum = x + y # indent 적용
    return sum # indent 적용

3. 인수와 매개변수

  • 함수 정의 시 사용하는 변수를 매개변수, 함수 호출 시 사용하는 변수를 인수로 호칭
  • 함수 정의 시 매개변수 개수를 특정하지 않은 경우, '*'을 이용하여 매개변수 지정 가능하며, 이러한 경우 tuple 형태로 인수가 함수에 입력됨
  • 함수 정의 마지막 부분에 return 키워드를 이용하여 함수 실행 결과를 외부로 내보낼 수 있음
def add_calc(x, y): # 매개변수
	sum = x + y
    return sum

res = add_calc(2, 3) # 인수
print(res) # 5

def print_num(*nums):
	for num in nums: print(num, end="")
print_num(1, 3, 5, 7, 9) # 13579

4. 전역변수와 지역변수

  • 함수 밖에 선언된 전역변수는 어디에서나 사용 가능하나, 일반적으로 함수 안에서는 수정할 수 없음
  • 단, global 키워드를 사용하여 함수 안에서도 수정할 수 있는 특별한 전역변수를 생성할 수 있음
  • 함수 내에서 사용하는 지역변수는 당연히 함수 내에서만 사용가능하며, 외부에서 접근할 수 없음
my_num = 10 # 전역변수

def print_num():
	my_num = 20
    print(my_num)

print_num() # 20
print(my_num) # 10, 함수 내 수정내역이 반영되지 않았음
my_num = 10

def print_num():
    global my_num # global 키워드
    my_num = 20
    print(my_num)

print_num() # 20
print(my_num) # 20, 함수 내 수정내역이 반영되었음

5. lambda 함수

  • 간단한 함수의 경우 lambda를 사용하여 한 줄로 기술할 수 있음
# 기본 함수 정의 방법
def add_calc(x, y):
	sum = x + y
    return sum
    
res = add_calc(2,3)
print(res) # 5

# lambda 활용 방법
add_calc = lambda x, y: x+y
res = add_calc(2,3)
print(res) # 5

*이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.

profile
데이터 분석, 데이터 사이언스 학습 저장소

0개의 댓글