프로그래밍 시작하기 in Python프로그래밍 기본 개념프로그래밍 기초 퀴즈

Q

3번 문제 my_funciton

조회 7620

좋아요 88

2020년 9월 24일()




댓글 6

2022년 9월 2일
모든 함수를 '결과값을 프린트하는 형식'으로 할 필요는 없기 때문인 것 같아요.
2022년 9월 2일
제가 pascal 이라는 언어를 본 적이 있는데, 거기서는 function과 processure 둘로 나누더라구요. ;; 프로씨저는 '명령'을 실행하는 거고, 함수는 '명령수행후에 숫자등을 내 놓는 것'입니다. 즉, 프린트해라, 페이지 넘겨라 등등 행동을 하는 것은 프로씨저. 둘을 더한 값을 내 보내라.는 함수. 이런 식의 개념이었습니다. ;; 그런데 파이썬에서는 이 모든게 함수라는 걸로 다 통합이 된 건데... 함수에서 결과값을 내보내는 것을 return이라는 명령어(함수)로 추가로 기능하는 것 같습니다.
2023년 1월 16일
지금은 값을 출력하고자 하는 목적을 알기에 그렇게 말할 수 있지만, 다른 경우에 연산만 필요 할 수 있기 때문이죠. 출력이 유일한 목적이라면 말씀하신 프린트로 끝내도 되지만 예를들어 x+x+y를 하고 그 값을 z라고 했을때 z+z+w를 한 후에 출력하고자 한다면, 저 더하기 함수를 두 번 호출하고 마지막에 정답과 같이 print하면 되기 때문입니다. 함수를 만드는 것은 결국 "재사용"하기 위함이니까 출력만 되는 함수보다는 더하기만 하는 애가 여러모로 쓰임새가 많겠죠?
2023년 1월 16일
그리고 윗분이 말씀하신 pascal의 경우 오타이신거 같은데 "procedure"와 function으로 구분됩니다. 이거는 오라클같은 sql에서도 쓰이는 개념인데, 간단하게 리턴값이 있느냐 없느냐 차이입니다. 펑션은 무조건 끝날때 프린트가 되었건 숫자가 되었건 결과값 리턴이 있구요. 프로시저는 없습니다. 프로시저 마지막에 print를 써서 값을 출력 할 수는 있지만, 펑션의 결과값 리턴과는 다르게 그냥 그 일련의 작업 수행 과정에서 마지막에 프린트하는 것 뿐이랄까요
2023년 1월 16일
c언어를 예로 들자면 보통 일반적인경우 함수를 선언할 때 리턴하고자 하는 데이터 타입으로 선언합니다. 그래서 정수값을 리턴하고자 하는 함수는 int my_func 이런식으로 선언하고, 반대로 리턴값이 없는 앞서말한 프로시저와 같은 역할은 비어있다는 개념의 void my_func 이런 식으로 선언합니다
베스트 댓글
2023년 1월 16일
사족을 좀 많이 달았는데. 함수로 만드는 목적은 여러번 쓰기 위함이고, 어떻게 하는 게 가장 유용할 지 생각하여 그 방식으로 선언하면 됩니다. 정해진 답은 없습니다.
A
8개의 답변이 있어요
커뮤니티 파트너 채택



2020년 9월 24일

댓글 3

2020년 10월 31일
혹시 조금 더 자세하게 설명해주실 수 있을까요 ? 호출 결과에 10을 더한다고 했을 때가 어떤 의미인지
2020년 11월 22일
저도 이 부분이 궁금합니다. 아직 코린이라 그런지 쉽게 이해가 안가는데 자세히 설명해주시면 감사하겠습니다 :)
2022년 6월 5일
my_function의 결과값과 거기에 10을 더한 값을 모두 프린트하고자 하는 경우를 생각하면 좋을 것 같습니다.



2020년 10월 31일 ()

댓글 6

2020년 11월 2일
혹시 말씀 하시는게def my_function(x, y):
print(x + x + y)

my_function(10, 30)

def my_function(x, y):
return x + x + y

a = my_function(5, 10)
b = my_function(10, 10)
print(a + b)
2020년 11월 2일
아앗... 혹시 말씀 하시는게
def my_function(x, y):
print(x + x + y)

my_function(10, 30)
-----------------------------------------
def my_function(x, y):
return x + x + y

a = my_function(5, 10)
b = my_function(10, 10)
print(a + b)

이걸 뜻하시는게 맞나요!!!?
2020년 11월 3일
지금 함수명이 똑같은데 함수명을 구분해서 함수 A 의 호출 결과에 10을 더하는 코드와 함수 B 의 호출 결과에 10을 더해서 결론적으로 10+10+30+10= 60이 나오는 코드를 만들어보세용. 한 함수는 이게 안되고, 다른 함수는 이게 가능할 것입니당.
2021년 1월 3일
아래에서 my_function1과 my_function2의 경우를 말씀하신게 맞나요?

def my_function(x,y):
return x + x + y
print(my_function1(10,20) + 10)

def my_function2(x,y):
print(x+x+y)
my_function2(10,20) + 10
2021년 1월 3일
my_function 이 my_function1 으로 바껴야겠지만 맞습니당!
2021년 1월 5일
저도 이부분이 궁금한데요 왜 return 명령으로 하면 50이 나오고 print 명령으로 하면 50이 나오지 않는건가요? 명령어 차이 일까요? 좀더 구체적인 명령어 개념 차이를 알고 싶습니다.



2021년 1월 16일

댓글 2

2022년 8월 23일
x, y 값이 계속 변하는 경우를 생각해보면 함수를 한번 만들어 놓으면 x, y변수를 매번 새로 지정해줄 필요 없이 함수만으로 사용이 가능해 집니다.
2022년 8월 23일
파란색 부분중 위 두줄을 한번 만들어 놓으면 x, y값이 변해도 1줄이면 끝나게 됩니다.



2022년 3월 25일

댓글 4

2022년 6월 23일
print 함수 안에 x * x + y - z + b * b - y를 그대로 써도 실행이 되는데요..?
2022년 6월 24일
어떤게 실행이 된다는 말씀일까용? 별도 질문이나 좀 더 자세히 말씀해주시면 좋겠어용~
2022년 6월 24일
단순히 불편한 것 외에 추상화나 재사용성 측면에서도 별도의 함수로 분리해서 호출하는 것이 좋을 듯 하네요!
2024년 1월 5일
print도 return과 동일하게 작성하셔도 값은 같습니다. 사칙연산에 따라 계산하니까요.



2023년 2월 9일



2023년 6월 17일

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇