-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
함수 관련으로 질문이 있습니다.
23.12.08 15:02 작성 조회수 88
0
안녕하세요, 함수 문제를 풀어보다가, 문의사항이 있어서 질문 올립니다.
67, 68번 예시와 다르게 노출되어, 원인이 무엇인 지 알고 싶습니다.
Excercise 67. 함수 문제를 아래 방식으로 풀어봤는데, 결과 값에 'None' 값도 같이 출력되는지 알고 싶습니다.
Excercise 68. 역시 풀어보다가, 똑같이 'None' 값이 나와서 이유를 알고 싶습니다!
감사합니다.
답변을 작성해보세요.
0
잔재미코딩 DaveLee
지식공유자2023.12.08
안녕하세요. 답변 도우미입니다.
data_result
함수는a
와b
를 인수로 받아서, 두 값을 곱한 결과를print
함수를 통해 출력합니다.print(a*b)
라인에서a
와b
의 값 (여기서는 2와 3)을 곱한 결과인 6을 콘솔에 출력합니다.data
는data_result
함수를 참조하는 새로운 변수입니다. 따라서data(2,3)
을 호출하면,data_result(2,3)
을 호출하는 것과 동일하고, 이는 결과적으로 6을 출력합니다.이제 여기서 중요한 점은,
print
함수가 호출되면, 출력해야 할 내용을 콘솔에 출력한 후에None
을 반환한다는 것입니다.data_result
함수는 반환값이 명시되어 있지 않으므로, 기본적으로None
을 반환합니다.따라서, 외부
print
함수인print(data(2,3))
는data(2,3)
의 반환값을 출력하려고 합니다.data(2,3)
은 내부에서 '6'을 출력하고,None
을 반환합니다. 그래서 외부print
함수는 이None
을 받아서 콘솔에 출력하는 것입니다.
Example 68 도 스크린샷에 있는 코드에서 함수 cal
은 조건문을 사용해 입력받은 연산자 c
에 따라 다른 연산을 수행합니다. 그런데 모든 조건문 안에서 print
함수를 사용하여 결과를 출력하고 있습니다. print
함수는 값을 출력한 다음 None
을 반환합니다.
data
변수에 cal(a, b, c)
의 결과를 할당하고, 그 다음에 print(data)
를 호출하면 cal
함수의 반환값인 None
이 출력됩니다. 이는 cal
함수 내에서 어떤 경우에도 return
문을 사용하지 않아서 함수가 명시적으로 값을 반환하지 않기 때문입니다.
결과적으로, 함수가 None
을 반환하고, 이것이 data
변수에 할당된 후 출력되는 것입니다.
감사합니다.
답변 1