일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 순전파
- 기울기
- PICO CTF
- AdaGrad
- 딥러닝
- CTF
- PostgreSQL
- PHP
- picoCTF
- 오차역전파법
- 코딩
- Apache2
- Python
- 설치
- HTML
- 책
- Python Challenge
- flag
- 백준
- 역전파
- 파이썬
- C언어
- 신경망 학습
- 소프트맥스 함수
- 신경망
- FastAPI
- sgd
- 우분투
- 아파치
- 리뷰
- Today
- Total
Story of CowHacker
파이썬_함수 본문
파이썬을 사용하면서 함수라는 녀석을 사용하면 좀 더 효율적이고, 가독성이 뛰어난 코딩을 할 수 있다.
함수란?
수학에서 나온 함수와 파이썬에서 나온 함수는 같은 의미로 사용되고 있다.
코딩 시 반복적인 부분이나 추후 수정을 할 때 매우 효율적으로 작용하는 것이 바로 함수다.
a = 1
b = 2
def add(a,b):
return a + b
print(add(a,b))
함수를 활용한 코딩이다.
간단 한 덧샘을 구현한 함수다.
여기서 함수의 이름은 add고,
이 녀석의 역할은 두 개의 입력값을 받아 그 둘의 입력값을 더해 결괏값으로 출력하는 행동을 한다.
다음은 함수를 사용할 시 구별해야 할 용어에 대해 알아보겠다.
def add(a, b): # a, b는 매개변수
return a+b
print(add(1, 2)) # 1, 2는 인수
위 코드를 보면 매개변수, 인수 두 단어가 보인다.
여기서 print란 역할을 수행하기 위해선 함수를 호출 ( 사용 ) 해야 한다.
* add라는 함수한테 인수 값 1,2를 전달한다. 이때 1,2는 인수라고 불린다.
* 1,2를 add 함수한테 주면 매개변수라는 녀석이 인수값을 전달받는다.
* 그 후 add 함수의 역할인 덧셈을 처리한 후 결괏값을 출력한다.
위 그림을 보면 좀 더 쉽게 이해가 될 것이다.
아까 설명을 그림에 빗대어 보면
인수값 1,2를 매개변수에 전달하는 걸 볼 수 있다.
그 후 결과 값을 출력한다.
혹시 함수 안에 또 함수를 사용할 수 있을까?? 궁금했다.
def add(a,b): # a, b는 매개변수
def sub(a,b):
return b-a
return a+b, sub(a,b)
print(add(1,2)) # 1, 2는 인수
물론 가능했다.
add함수 안에 sub 함수를 또 만들어 넣을 수 있었다.
그럼 세 개는?!
def add(a,b): # a, b는 매개변수
def sub(a,b):
def mul(a,b):
return a*b
return b-a, mul(a,b)
return a+b, sub(a,b)
print(add(1,2)) # 1, 2는 인수
결과 값이 좀 복잡했지만, 역시 가능이었다.
결과 값이 복잡하다!!
먼저 추출하려면 출력 값이 어떤 타입인지 알아야 했다.
def add(a,b): # 중첩 함수
def sub(a,b):
def mul(a,b):
return a*b
return b-a, mul(a,b)
return a+b, sub(a,b)
print(" 중첩 함수 : " ,type(add(1,2)))
def add(a,b): # 단일 함수
return a+b
print(" 단일 함수 : ", type(add(1,2)))
와! 이런! 단일, 중첩 함수에 따라 출력 값 타입이 다르다는 사실을 알아버렸다.
def add(a,b):
def sub(a,b):
def mul(a,b):
return a*b
return b-a, mul(a,b)
return a+b, sub(a,b)
print(add(1,2))
print(add(1,2)[0])
print(add(1,2)[1])
print(add(1,2)[1][0])
튜플이라니!
중첩 함수를 사용하면 복잡한 결괏값이라 고민이었지만
이렇게 잘 활용할 수 있겠다는 생각도 할 수 있었다.
함 수는
수 학의 꽃이다.