데이터 구조 및 알고리즘을 위한 파이썬 기초 문법 - 함수
글 작성자: nouu
함수
http://www.yes24.com/Product/Goods/91433923
목적
데이터 구조 및 알고리즘 공부 전 간단히 파이썬 문법을 살펴보는 의미에서 작성한다.
함수
프로그래밍을 하다 보면 똑같은 코드가 반복적으로 사용되어야 할 때가 있다. 함수를 사용하지 않는다면 소스코드를 일일이 작성해야 되므로, 소스코드가 길어지고 코드 또한 비효율적으로 커진다. 이렇듯 함수는 알고리즘 해결 과정에서 동일한 알고리즘을 반복적으로 수행해야 할 때 사용된다.
'''
def 함수명(매개변수) :
실행할 소스코드
return 반환 값
'''
def add(a, b) :
return a + b
print(add(3, 7))
print(add(4, 9))
def exp(a, b) :
return a**b
print(exp(3, 3))
또한 return 문 없이 함수를 작성할 수도 있다. (이럴 경우 return 대신 print 출력문을 사용하여 해결 but return을 사용하는 습관을 길러야 프로그래밍을 수행하는데 있어 수월해짐)
'''
def 함수명(매개변수) :
print문
'''
def division(a, b) :
print(f"해당 함수의 결과는 다음과 같다 : {a / b}")
division(6, 3)
또한 함수 내 parameter 혹은 인자를 호출하는 과정에서 parameter의 변수를 직접 지정하여 값을 넣을 수 있다. 예를 들어서 함수 처리 과정에서 매개변수로 a, b가 사용될 때 함수를 호출하는 라인에서 a와 b를 지칭하여 값을 넣을 수 있다. 예시를 보면 이해가 될 것이다.
def quotient(dividend, divisor) :
print(f"몫을 구하는 함수의 결과 : {dividend // divisor}" )
# parameter 변수명을 지정하여 값을 넣을 수 있다. (이러한 문법이 있다고 인지만 하면 됨)
quotient(divisor = 2, dividend = 6)
함수 안에서 함수 밖의 변수 데이터를 변경해야 하는 경우가 있다. 이 때 함수에서 global 키워드를 사용한다. (전역 scope에 대한 변수를 함수 선언 시 선언 내 지역 scope 처럼 사용 가능하다.)
a = 0
def incrementFunc() :
# 다음과 같이 전역 scope에 있는 변수를 끌어 쓸 수 있다. 이 때 사용하는 키워드는 global
global a
a +=1
for i in range(10) :
incrementFunc()
print(a)
마지막으로 람다 표현식(lambda expree)을 사용할 수 있다. 람다 표현식을 사용하면 함수를 간단하게 표현할 수 있다.
def add(a, b) :
return a + b
# 람다 표현식(lambda express)로 구현한 add() 메서드
# lambda 매개변수 : 표현식 (꼭 기억!)
print(lambda a, b : a + b)(3, 6))
'개발언어 > 알고리즘' 카테고리의 다른 글
[구현(implement)>시뮬레이션(simulation)] '게임 개발' 문제 (0) | 2022.02.20 |
---|---|
[그리디(Greedy)] 큰 수의 법칙 (0) | 2022.02.18 |
데이터 구조 및 알고리즘을 위한 파이썬 기초 문법 - 반복문 (0) | 2022.02.06 |
데이터 구조 및 알고리즘을 위한 파이썬 기초 문법 - 조건문 (0) | 2022.02.06 |
데이터 구조 및 알고리즘을 위한 파이썬 기초 문법 - 사전 자료형(dictionary) (0) | 2022.02.06 |
댓글
이 글 공유하기
다른 글
-
[구현(implement)>시뮬레이션(simulation)] '게임 개발' 문제
[구현(implement)>시뮬레이션(simulation)] '게임 개발' 문제
2022.02.20 -
[그리디(Greedy)] 큰 수의 법칙
[그리디(Greedy)] 큰 수의 법칙
2022.02.18 -
데이터 구조 및 알고리즘을 위한 파이썬 기초 문법 - 반복문
데이터 구조 및 알고리즘을 위한 파이썬 기초 문법 - 반복문
2022.02.06 -
데이터 구조 및 알고리즘을 위한 파이썬 기초 문법 - 조건문
데이터 구조 및 알고리즘을 위한 파이썬 기초 문법 - 조건문
2022.02.06