작성
·
216
0
답변 2
0
좋은 질문이네요! 저도 같이 생각해봤는데,
만약 코드가
print(quad1.qurd_name(quad1.width,quad1.height))
print(quad2.qurd_name(quad2.width,quad2.height))
이렇게 각각의 함수를 따로 출력하는 코드였다면 말씀하신 순서대로 출력이 될거에요.
하지만, print(quad1.qurd_name(quad1.width,quad1.height),quad2.qurd_name(quad2.width,quad2.height)) 이 코드에선 print문 안에 두 메서드가 동시에 호출이 돼요. 아마 출력 속도는 (아주 미세한 차이겠지만) 더 빠를 것입니다. 한번에 두 메서드가 동시에 돌아가니까요!
0
안녕하세요. 답변도우미입니다.
사실 보여주신 이미지만으로는 각 함수가 어떤 코드로 실제로 구현되어 있는지를 알기는 어려워서요. 관련 출력은 전적으로 각 클래스가 어떤 코드로 구성되어 있는지에 따라 다릅니다. 즉, 이런 출력 순서는 일반적으로 함수들이 어떤 방식으로 결과를 반환하는지에 따라 결정됩니다. 예를 들어, 만약 gurd_name
함수가 print
를 내부적으로 호출하고 있다면, 함수가 반환되기 전에 print
가 실행될 것이고, 그 결과가 먼저 출력될 수 있습니다. 또 해당 함수에서 또다른 내부 함수를 호출할 수도 있고, 그렇다면 해당 내부 함수의 출력에 의해서도 위와 같이 출력될 수 있습니다. 따라서, 선언하신 클래스의 코드와 함께 순차적으로 어떤 코드가 실행되는지를 확인하시면, 관련 출력을 이해하시는데 도움이 되실 것 같습니다.
감사합니다.