안녕하세요.
패스트 캠퍼스 수강후기 - 머신러닝과 데이터 분석 A-Z 7회차 미션 시작합니다!
머신러닝 인강 후기 7회차는 함수에 대해 공부합니다.
패스트 캠퍼스 강의에서 제공하는 실습파일을 보면서 강사님의 지시에 따라 실습을 따라하시면 됩니다.
" 함수 "
함수란 주어진 입력(input)에 대해서 의도된 출력(output)을 전달하는 역할을 하는 기능을 말합니다.
지금까지 본 함수는 sum, len, range 함수가 있는데, 각각의 기능은 아래와 같습니다.
- range 함수 : 정수를 입력으로 전달하면 [0, 정수]로 이루어진 리스트를 생성합니다.
- sum 함수 : 리스트, 튜플 등을 입력으로 전달하면 전체 아이템의 합을 출력으로 전달합니다
- len 함수 : 리스트, 튜플 등을 입력으로 전달하면 아이템의 개수를 출력으로 전달합니다.
위와 같은 함수는 모두 python 내부에 의미 구현이 되어있는데,
이미 python 내부에 구현된 함수를 내장함수(built-in function)이라고 합니다.
1) 함수의 정의
함수를 정의할 때 최초에 def 키워드를 사용합니다.
argument 정의
- 함수에 입력으로 전달하는 값을 argument 또는 parameter 라고 합니다.
함수도 코드블록이기 때문에 콜론(:)이 필요합니다.
body 정의
- 함수의 구현부분을 body라고 합니다.
-함수를 호출힌 코드(caller)로 함수가 해당기능을 수행하고, 완료된 값(output)을 전달하기 위해 return 키워드를 사용합니다.
def add(x, y):
n = x+y
return n
c = add(30, 300)
print (c) #330
2) 함수의 사용(호출)
함수명(파라미터 1, ..., 파라미터n)
위와 같이 정의된 함수의 이름과 전달되는 parameter를 괄호 안에 전달하여 함수를 호출합니다.
함수가 호출되면 실행의 흐름이 호출자(caller)에서 함수(callee)로 변경됩니다.
3) 함수 naming
함수 이름으로부터 기능이 명시되어야 합니다.
의미와 반대되거나 맞지 않는 이름은 코드 사용에 혼동을 줄 수 있으니 사용을 하면 안 됩니다.
4) parameter(또는 argument)
함수에 전달되는 입력(input)을 의미합니다.
파라미터로 어떤 파이썬 객체든 전달 가능합니다. (int, string, float, bool, list, dict 등등)
함수 자체도 함수의 파라미터로 전달할 수 있습니다.
5) 기본인자(default parameter)
함수의 파라미터에 기본값을 지정할 수 있습니다.
파라미터를 명시하지 않을 경우, 지정된 기본값으로 대체합니다.
def add(x, y=10, z=5):
a = x+y+z
return a
print (add(10, 1, 2)) # 13
6) 기본 파라미터의 다른 예
print 함수 : sep, end, file 등 여러 기본 파라미터를 가짐
print 함수의 파라미터 및 사용예시는 2회차 수업에서 강사님께서 언급해주셨습니다!
7) default parameter 사용 시 주의할 점
default parameter 뒤에 일반 parameter가 올 수 없습니다.
*올바른 예
def test (a, b, c = 1)
def test (a, b=1, c=2)
*올바르지 않은 예
def test(a, b=1, c)
def test(a=1, b, c)
8) keyword parameter
파라미터에 값을 전달할 때 파라미터의 이름을 명시하여 전달할 수 있습니다.
파라미터 이름을 사용하지 않으면, 기본적으로 순서에 맞게 전달합니다.
def test(x, y, z):
a = x+y+z
return a
print (test(x=10, y=50, z=3)) #63
print (test(10, 50, 3)) #63
print (test(z=3, x=10, y=50)) #63
다음시간에는 함수 마무리 및 lambda 함수를 공부하겠습니다!
머신러닝 인강 최강자를 만나고 싶으면!? https://bit.ly/3lZfGmn
'환급 챌린지!' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 9회차 미션 (0) | 2020.10.28 |
---|---|
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 8회차 미션 (0) | 2020.10.26 |
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 6회차 미션 (0) | 2020.10.24 |
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 5회차 미션 (0) | 2020.10.23 |
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 4회차 미션 (0) | 2020.10.22 |