함수는 함수 원형은 함수를 선언하고 호출하는 과정으로 나누어 볼 수 있다.

함수의 선언

파이썬은 함수를 선언할 경우에
def 함수명(매개변수) : 라고 쓰면 된다.

함수의 선언은 실행시킬 동작을 미리 정의하는 것에 가깝다고 할 수 있겠다.

함수의 호출

함수명()을 적어서 함수와 함수에 포함된 코드를 호출할 수 있다.
파이썬은 함수를 작성시에 블록연산자 대신에 콜론(:)과 들여쓰기(일반적으로 4칸 / tap 한번)으로 쓰면 되겠다.

def sum(a,b) : #함수의 선언
    result = a + b #인수를 전달받고 계산
    return result #함수의 결과를 반환

print(sum(5,3)) #함수의 호출
결과

8

return 키워드를 통해 함수를 종료시키고
변수 result의 값 (숫자 8)을 반환하는 것을 볼 수 있다.

함수를 쓰는 이유

코드의 재사용성을 높이고 프로그램의 복잡성을 줄일 수 있다.
비슷한 코드의 반복이 줄기 때문에 가독성이 좋아진다.
변경 사항이 있는 경우에 함수 내부만 수정하면 되므로 유지보수도 훨씬 쉬워진다.

파이썬에서의 함수

def:함수를 정의하는 키워드
함수명:함수의 이름. 함수명()을 사용하여 함수를 호출할 수 있다.
매개변수:함수가 작업을 수행하는 데 필요한 값을 전달받는 변수.
함수의 매개변수는 필요한 경우에 적는 선택 사항이며, 매개 변수가 없을경우에는 따로 전달하는 인수가 없이 함수가 호출이 된다.

자바에서의 함수

파이썬 함수를 말하는 부분이지만 겉핥기로 자바에서의 함수 선언도 간단하게 알아보도록 하자

//함수와 비슷하고도 비슷한 말, 자바의 OOP:메서드(method)
//자바에서의 함수 원형
public class javaBasicFunction{
  static int score
  int point
Public Static int sum(int a, int b){
int result = a + b;
return result;
	}
}
  
  
//Public:접근제한자
//static int score:클래스변수 
//int point:객체변수 (인스턴스(되기전의) 변수)
  
//Static:키워드 정적 클래스
//int result:지역변수
  

추가) 수학의 함수와 프로그래밍의 함수?

  • 수학의 함수
    f:a>bf: a->b
    f:함수 이름
    A:정의역(집합)
    B:공역(집합)
    함수의 대응 규칙
    함수y=x2함수 y = x^2
    함수 이름 -> default : 익명 함수
    정의역 -> default : 실수 전체
    공역 -> default : 실수 전체
    함수의 대응 규칙
  • 프로그래밍의 함수
def selection_sort(a: Int, b: Int)->Int :

함수 이름 -> selection_sort
정의역 -> a, b
공역 -> selection_sort(a: Int, b: Int), Int로 반환
함수의 대응 규칙: 본문

수학의 함수 이름,정의역, 공역들을 이처럼 프로그래밍의 함수로 표현할 수 있다. 이들은 함수의 본체는 아니지만 대표성을 띄는 중요한 의미를 가지고 있어 시그니쳐 (signature) 라고 불린다.

"순서쌍"(x,y)inRR2=RRxxRR(2,1)!=(1,2)"튜플order"1,2!=1,2"(집합)unorder"s:ZZxxZZ>ZZ"순서쌍"(x,y) in RR^2 = RR xx RR (2, 1) != (1, 2) "튜플 order" {1, 2} != {1, 2} "셋(집합) unorder" s : ZZ xx ZZ -> ZZ

추상적인 수학 세계를 실현화한 프로그래밍.
수학에서의 집합적인 개념이 프로그래밍의 타입으로써 나온다.

profile
방가방가예요

0개의 댓글