Algorithm

[Algorithm] 10 강 : 파이썬 문법 - 함수

반응형

 

함수란?

 

특정한 작업을 하나의 단위로 묶어 놓은 것

함수를 사용하면 불필요한 소스코드의 반복을 줄임

 


 

함수의 종류

- 내장 함수 : 파이썬이 기본적으로 제공하는 함수

- 사용자 정의 함수 : 개발자가 직접 정의하여 사용할 수 있는 함수

 


 

함수 정의하기

- 매개변수 : 함수 내부에서 사용할 변수

- 반환 값 : 함수에서 처리된 결과를 반환

def 함수명(매겨변수):
	실행할 소스코드
    return 반환값

 

예시)

# 더하기

def add(a,b):
	return a+b
  
print(add(3,7))
=>10

 


 

파라미터 지정하기

파라미터의 변수를 직접 지정 할 수 있음

def add(a,b):
	print('함수의 결과:',a+b)
    
    
add(b=3,a=7)
=>10

 


 

global 키워드

전역변수를 사용하기 위한 키워드로서 함수 바깥에서 선언된 변수를 참조함

a = 0

def func():
	global a
    a += 1
    
for i in range(10):
	func()
 
print(a)
=> 10

이렇게 밖에 있는 a라는 지역변수를 전역 변수화 해서 함수 안에서도 쓸 수 있게 만든다.

 


 

여러 개의 반환 값

파이썬에서는 함수는 여러 개의 반환 값을 가질 수 있다.

def operator(a,b):
	add_var = a+b
    subtract_var = a-b
    
   	return add_var , subtract_var
    
a,b = operator(7,3)
print(a,b)
=> 10,4

 

 


 

람다 표현식

특정한 기능을 수행하는 함수를 한 줄로 작성 가능

함수의 이름이 없는 것이 특징

# 일반적인 함수 사용
def add(a,b):
	return a+b

print(add(3,7))
=>10

# 람다 표현식 사용
print((lambda a,b : a+b)(3,7))
      (lambda 매개변수 :  로직)(value) 
=>10

 

예시)

array = [('홍길동',50),('이순신',32),('아무개',74)]

def my_key(x):
	return x[1]
   
print(sorted(array,key=my_key))
=> [('홍길동',50),('이순신',32),('아무개',74)]


print(sorted(array,key=lambda x:x[1]))
=>[('홍길동',50),('이순신',32),('아무개',74)]

 

list1 = [1,2,3,4,5]
list2 = [6,7,8,9,10]

result = map(lambda a,b: a+b,list1,list2)

print(list(result))
=> 7,9,11,13,15

 

 


이 자료는 동빈 나 님의 이코 테 유튜브 영상을 보고 정리한 자료입니다.

참고 : www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC

 

반응형