global x로 지정하는 것보다 return x형식을 권장하는 이유가 있을까요? 너무 궁금해요
+0
베스트 댓글
2020년 6월 4일
정말 프로그램이라고 불릴만큼 복잡한 수천, 수만줄의 코드에서 my 함수를 여러 함수에서 호출해서 쓰게 된다면 함수 밖의 x 값은 계속해서 바뀔 수 밖에 없을 것이에요. 그렇게 된다면 코드가 어떻게 진행되는지 이해하기도 힘들뿐더러 그만큼 예측하기 어려운 코드가 되어 결과적으로 작성하기도 힘들도 디버깅하기도 어려운 코드가 되고 말 것이에요.
+0
2021년 4월 13일
안녕하세요 제가 제대로 이해한 것인지 궁금합니다. 1. 저 return x 값에 x + 1이 들어감 2. 그러므로 x = my(x) 의 우항은 x + 1임 3. 이걸 print (x) 하게 되면 x 값에 글로벌 변수가 들어감 4. 따라서 값이 2 + 1로 3이 나옴 이렇게 이해했는데 이게 맞는지요?
+0
2021년 4월 14일
print(x) 는 두번째 코드인데 말씀하시는건 다른 코드 같아서 헷갈리네용 ㅠㅠ
+0
2021년 11월 17일
저 return문을 사용해보았는데 출력되지 않아요
+0
2021년 11월 17일
return 은 출력 역할을 하는 코드가 아닙니당. 어떤 부분에서 헷갈리신진 모르겠는데, 별도 질문으로 다시 남겨주시면 확인해보겠습니당!
+0
2022년 12월 12일
좋은 설명 감사합니다 이해 잘되네요
+0
2024년 1월 19일
혹시 전역변수가 함수 내에서 수정할 수 없는 이유가 무엇인지 알 수 있을까요?
+0
2024년 7월 13일
전역변수도 위에 설명했던 것처럼 global을 이용하면 수정이 가능합니다. 다만, 랑이님이 하신 말씀처럼 비추천합니다. 전역변수의 경우 여러 함수들에서 동시에 사용할 수 있으며, 함수 외부에서도 사용하게 됩니다. 그런 변수(전역변수)의 값이 바뀌게 되면 변수가 어떻게 바뀔지와 이를 사용하는 모든 함수의 return값 또는 print 출력 내용이 변하게 됩니다. 즉, 코드의 전체적인 흐름을 파악하는 것이 힘들어 질 수 있어요. 그렇기에 global을 이용해 바꿀 수는 있지만 이를 사용하지 않으면 오류처리를 하는 것 같아요.(저의 개인적인 생각이라 잘못 된 부분이 있을 수 있어요.)\
댓글 9개
1. 저 return x 값에 x + 1이 들어감
2. 그러므로 x = my(x) 의 우항은 x + 1임
3. 이걸 print (x) 하게 되면 x 값에 글로벌 변수가 들어감
4. 따라서 값이 2 + 1로 3이 나옴
이렇게 이해했는데 이게 맞는지요?