중첩함수(Nested function)와 비지역변수 함수는 일급객체(First Class Object) 이므로 다음과 같이 사용되는 다른 함수에 인수로 전달 할 수 있습니다. def expNum(x, y): return(x**y) def addExp(func, x, y): return(func(x, y)+x+y) x, y= 2, 3 addExp(expNum, x, y) 13 위 코드의 addExp() 는 다른 함수를 인수로 사용하는 함수입니다. 다음 코드에서 작성한 함수 addExp1() 은 위에서 인수로 전달받는 함수를 함수 내부에 포함하는 방식으로 작성한 것으로 같은 결과를 나타냅니다. def addExp1(x, y): re=expNum(x, y) return(re+x+y) addExp1(x, y) 13 위 코드에서 함수 addExp1() 와 같이 함수 내부에 포함된 함수를 중첩함수(nested function) 라고 합니다. 변수는 선언되는 위치에 따라 전역변수(global variable)와 지역변수(local variable) 로 구분합니다. 이러한 구분은 각 변수의 작동영역이 제한되기 때문입니다. 중첩함수 내부에 선언된 변수는 그 내부에서만 작동합니다. 이 경우 이 변수가 지역변수가 되지만 그 외 부분에서 선언된 변수는 모두 전역변수가 될수는 없습니다. 이렇게 중접함수를 포함하는 계층적 구조를 가지는 함수의 경우 그림 1과 같이 구분합니다. 즉, 가장 내부에 포함된 함수의 변수는 지역변수가 되며 그 변수의 영역의 바깥 부분에 존재하는 변수는 비지역변수(nonlocal variable) 가 됩니다. 또한 블럭에 상관없이 모든 부분에서 사용가능한 변수를 전역변수라고 할 수 있습니다. 그러므로 비지역변수는 지역변수와 전역변수 사이에 위치하는 모든 변수를 통칭합니다. 그림 1. greeting() 함수에서 선언된 변수들의 범위. 다음 코드에서 함수 greeting() 는 중첩 함수인 ...
python 언어를 적용하여 통계(statistics)와 미적분(Calculus), 선형대수학(Linear Algebra)을 소개합니다. 이 과정에서 빅데이터를 다루기 위해 pytorch를 적용합니다.