작성
·
130
답변 1
0
안녕하세요. 답변 도우미입니다.
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
변수에 할당된 후 출력되는 것입니다.
감사합니다.