• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

parameter, return값 유무에 대하여

19.06.16 06:40 작성 조회수 300

0

강의 잘 듣고 있습니다. 근데 parameter, return값 유무에 대하여 질문이 있는데요. parameter는 없는데 리턴값이 없는 경우 어떻게 실행이 된다는 건지 모르겠습니다. 함수 내의 수행문만 수행한다는 것의 의미를 잘 모르겠어요 ㅎㅎ 리턴값이 없으면 그 자체로 결과값은 허공에 떠야 하는 것 아닌가요? 예를 들어 y=3x+7에서 y를 입력하지 않은 것(이렇게 이해해도 될지 모르겠습니다만 ) print를 입력했으니 화면에 결과값이 어쨌든 프린트 되는 건 이해 하겠는데 

 

def b_rectangle_area(x,y) :

      print(x,y)

라고 입력하면, 'def b_rectangle_area(x,y) :'이 함수는 완전히 정의되지 않은 거니 메모리에 입력되지 않는 것이고, 터미널에서는 

print(x,y)

만 인식을 해서 x,y를 print 해야 하는데 x,y는 정의되지 않은 sting이니까 에러가 나야 하는 것 아닐까?생각해서 여쭤봅니당. 만약에 반환값이 없어도 함수를 수행할 수 있다면 반환값을 왜 굳이 입력해야 하는 건가요?

답변 2

·

답변을 작성해보세요.

0

감사합니당 

0

함수가 하나의 레고 블럭이라고 생각하면 좋습니다. return 값이 없는 함수들은 일반적으로 연결의 맨 마지막을 담당합니다. 정보를 출력해주거나 저장하거나 하는 일들을 많이 하게 만들어줍니다.

우리가 수학에서 함수와 같이 함수에는 in/out 이 있고 그 다음함수에 결과를 전달하면서 최종 프로그램을 만들수가 있습니다.

보통은 함수가 loosely coupled 되야 한다고 얘기를 하는데 다른 함수들이 쉽게 가져다 쓸 수 있도록 함수를 설계합니다.

아직은 전체 프로그램 구조를 만드는 단계가 아니기 때문에 완전히 이해가 어려울거 같습니다. 프로그램을 좀더 하다보면 이해에 도움이 될거 같습니다.