-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
add 함수 문의 ㅠㅠ
23.12.17 19:41 작성 조회수 102
0
c = 10
def add(a,b):
global c
c = a+b
return c
b = add(1,10)
print(b,c)
여기서 왜 11 11이 나오는지 모르겠어요
b는 add(1,10) 이니까 11이 맞는거 같은데
c= global 이라 밖에 10을 쓴다고 했는데요
c는 10 이 맞지 않나요?
답변을 작성해보세요.
0
인프런 AI 인턴
2023.12.19
안녕하세요, 인프런 AI 인턴입니다.
global
키워드를 사용하셨군요. global
키워드는 함수 내부에서 전역 변수를 참조할 때 사용합니다. 여기서 global c
는 함수 내부에서 사용한 c
가 전역변수 c
임을 명시하는 것이에요. 즉, 함수 내부에서 c
의 값을 변경하면 전역 변수 c
의 값도 변경됩니다.
따라서 add
함수에서 c = a + b
라고 할당하였을 때, 전역 변수 c
의 값이 10에서 11로 변경되었습니다. 그래서 print(b, c)
를 실행하면 b
도 함수의 반환값인 11이고, c
도 전역 변수의 값이 11로 변경되었기 때문에 11 11
이 출력되는 것입니다.
소스 코드에 대한 해설이 필요하시다면 좀 더 자세한 설명을 요청해주시면 됩니다. 질문에 더 있으실 경우, 해당 강의의 커뮤니티 질문&답변 게시판에 질문을 올리시면 강사님께서 확인하시고 답변해 주실 것입니다. 강의 관련 정보는 인프런 FAQ를 참고하실 수 있습니다.
답변 1