❤️

9주차 학습일지(함수, 전역변수와 전역변수)

학습내용

함수(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
복사
딕셔너리로 출력되며, 쉽게 이용이 가능하다.