학습내용
함수(function)
프로그램에서 자주 사용되는 코드 블록을 한번만 만들어 필요할때 마다 자주 사용. 프로그램을 잘게 쪼갤때도 좋은 역활을 한다.
함수의 종류
(1) 내장함수
print(), sum()… 등 파이썬에서 기본적으로 제공 하는 함수
(2) 사용자 정의 함수
사용자가 직접 만든 함수
함수 만들기
def test():
return "테스트"
print(test())
출력 결과:
테스트
Python
복사
이런식으로 편리하게 함수를 만들수 있다!
매개 변수
파이썬에서는 함수를 호출 할때 매개 변수를 지정하여 인자를 전달 할 수 있다.
def example(a,b,c) 에서 a,b,c를 매개 변수라고 한다
전역변수
전역변수는 코드 전체에서 사용할 수 있는 변수 입니다.
전역변수는 아래와 같이 단점을 가지고 있습니다.
•
메모리를 비효율적으로 사용할 수 있습니다.
•
값에 쉽게 접근할 수 있는 만큼 코드의 흐름을 파악하는데 방해될 수 있습니다. 코드가 방대해질수록 어디에서 선언되고 사용됐는지 찾기 힘들기 때문에 보통 전역변수는 수학에서의 ''같이 변하지 않고 여러 기능에서 참조해야 하는 값으로 사용합니다.
변수 만들기
num = 3 #전역 변수 num 선언
globallist = [] #전역 변수 globallist 선언
def mulNum(a) : #지역 변수 a 선언
a = a * num
globallist.append(3)
return a #a 소멸
def subNum(a) : #지역 변수 a 선언
a = a - num
print(a) #a 소멸
res = mulNum(4) #전역 변수 res 선언
print(res)
subNum(7)
print(num)
print(globallist) #프로그램 종료, 전역 변수 num, res, globallist 소멸
Python
복사
num = 1 #전역변수 선언
def plusNum() :
global num #전역변수를 함수 내에서 사용함을 선언
num += 1
print(num)
plusNum()
print(num)
Python
복사
위 코드처럼 global num으로 선언하면 함수 안에서 num을 수정한대로 변경되는 것을 확인할 수 있습니다. global은 편리한 구문이지만 외부와 소통하는 흐름을 깨기 때문에 반환 값을 이용하여 전역 변수를 수정하는 것을 추천드립니다.
어려웠던 점
매개변수를 여러개 지정할 때 코드가 너무 길어져서 사용하기 힘들었다.
해결방법
키워드 매개변수를 이용하여 해결 하였다.
키워드 매개 변수는 딕셔너리 형태로 선언하는 매개변수
def func(**매개변수):
함수코드
func(이름 = "상은")
Python
복사
형태로 이용 할수있다.
def func(**kwargs) :
print(kwargs)
num = 10
func(apple="사과", a = num, n = [1,2,4])
출력 결과:
{'apple': '사과', 'a': 10, 'n': [1, 2, 4]}
Python
복사
딕셔너리로 출력되며, 쉽게 이용이 가능하다.