함수 : 어떠한 영역에도 갇혀있지 않고 선언된 것
메소드 : 어떠한 영역 안에 갇혀서 선언된 것
f함수 f(x) = 2x+1
g함수 g(z) = 3z * 9
출력 함수 print()
입력 함수 input()
이름 뒤에 소괄호가 있다는 것은 함수다.
단, 키워드()는 함수가 아니다.
키워드()
- if()
- for()
- while()
f (x) = 2x+1
이름 매개변수 = 리턴값
함수의 선언
def 메소드명(매개변수,...):
실행할 문장
return 리턴값
메소드명 : 동사로 작성 한다. (연필-매개변수-을 쓴다-함수-)
매개변수 : 외부에서 값을 전달받기 위해서느 반드시 선언되어야 하며, 받을게 없다면 생략이 가능하다.
실행할 문장 : 생략 가능하다.
reutrn 리턴값 : 생략 가능하다.
메소드 선언시 주의사항
메소드 내에서 메소드를 선언하지 않고
메소드를 사용할 때에는 보통 메소드 안에서 사용한다.
선언은 메소드 밖에서 사용은 메소드 안에서
*고급에서 > 메소드 안에 메소드를 선언할 수도 있다.*
메소드의 선언 순서
예) 두 정수의 덧셈 메소드 만들기
1. 메소드 이름을 생각한다.
def add():
2. 매개변수를 생각한다.
def add(num1, num2):
3. 실행할 문장을 생각한다.
def add(num1, num2):
result = num1 +num2
4. 리턴 값을 생각한다.
def add(num1, num2):
result = num1 +num2
return result
메소드의 목적
1. 재사용의 목적 (단, 특정성을 부여해서는 안된다)
2. 소스코드 간결화
리턴을 해야 할 때
메소드 내에서 모든 작업이 끝나지 않을 때,
사용하는 부분에 메소드 내의 작업 결과를 알려 주어야 할 때
리턴을 하지 않아야 할 때
메소드 내에서 모든 작업이 완료될 때,
사용하는 부분에 결과를 알릴 필요가 없을 때