add 함수 문의 ㅠㅠ
283
2 asked
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 이 맞지 않나요?
Answer 1
0
안녕하세요, 인프런 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를 참고하실 수 있습니다.
38강 = 연산자 더하고 빼기
0
60
2
주석처리
0
116
1
함수의 파라미터값 msg
0
155
1
강의자료 이미지 안나옴
0
239
3
강의자료 질문 두번째
0
165
3
강의자료 관련 질문
0
116
1
파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
0
235
1
소수 너무 어려워요
0
245
1
imagefont 함수 사용
0
239
1
pylint
0
357
1
형식 문의드립니다.
0
209
1
변수 명을 왜 src, tar로 하셨는지 궁금합니다.
0
602
1
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
0
253
1
zsh: command not found: pylint
0
269
1
텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ
0
546
1
질문드립니다.
1
374
2
list.reverse() 출력에 대해서 질문있습니다.
1
433
1
데코레이터 함수 및 동작시간 질문입니다.~
1
323
2
opencv 사용하면서 궁금한점 (해상도)
1
781
1
질문드립니다.
1
299
1
아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?
1
445
1
크롤링안되는 현상 문의 드립니다.
1
421
1
파이썬 크롤링 관련 문의
1
277
1
정규 표현식 질문있습니다.
1
243
1

