커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
함수 내부에서 변수를 바꿨는데 왜 그게 바깥까지 영향을 미치나요?
undefined주차
북마크
한*석
댓글
1
추천
0
조회수
22
조회수
22
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


x = 3


def plus_one(a):
    a += 1return


plus_one(x)
print(x)


이 코드의 출력값은 3입니다. 함수 내부에서 일어난 변화는 바깥에 영향을 미치지 않기 때문입니다.

input = [4, 6, 2, 9, 1]


def insertion_sort(array):
    for i in range(1, len(array)):
        for j in range(i):
            if array[i] < array[j]:
                array[i], array[j] = array[j], array[i]
            else:
                breakreturn


insertion_sort(input)
print(input)  # [1, 2, 4, 6, 9] 가 되어야 합니다!


그런데 왜 다음과 같이 수업시간에 배운 정렬 함수는 함수 내부에서 변화를 주었는데도 출력하면 정렬된 값이 출력되나요?



스파르타 즉문즉답






취소
 공유
취소
댓글 0
댓글 알림
나의얼굴