파이썬 질문입니다.

파이썬 질문입니다.

QA

파이썬 질문입니다.

본문

대학에서 파이썬 배운다길래 이제야 공부하는 학생입니다.

 

a=[1,2,3]
b=[4,5]

t=a
a=b

print(t) 에서 a=b임에도 t는 여전히 [1,2,3]을 출력받고 

 

a=[1,2,3]

t=a

a[0]=5

print(t) 에서는 t가 [5,2,3]으로 출력됩니다.

 

위의 예시에서 a가 변했는데 t가 변하지 않은 것과

아래의 예시에서 a가 변했는데 t도 변한 것의 차이점을 모르겠습니다.

둘다 t=a이고, a가 변했음에도 하나는 변하고 하나는 변하지 않은 이유를 알려주시면 감사하겠습니다.


 

#qa

이 질문에 댓글 쓰기 :

답변 3

질문이 이상해서 직접 코드를 실행 보았습니다

도대체 문제가 보이지 않습니다 ㅋ

1930860366_1610827054.9758.jpg

 

음 .. 먼저 질문이 이상한 것에 대해 사과드립니다.
제가 질문 드리고 싶었던 것은
위아래 모두 t=a로 엮여있는데
a가 변함에도 불구하고
첫번째는 t가 변하지 않고
두번째는 t가 변한다는 것의 차이입니다.
분명 첫번째서 t=a라서 a=b -> t=b라 생각했는데
t!=b라서 이해가 되지않아 질문드린것입니다.

1930860366_1610857580.4668.jpg

 

실행결과를 보면 t가 변하지않는데 변했다고 하니 이상하다는 겁니다

 

질문을 헷갈리게 적은 것 같네요 .. 번거롭게 해드리는 것 같아 죄송합니다
a=[1,2,3]
t=a  ---> t=[1,2,3]
a[0]=7
print('t=',t) -> t=[7,2,3]
에서 t가 변했는데, 예비대학 강의에서 이때 t와 a가 같은 공간을 사용한다라고 들었습니다.
a=[1,2,3]
b=[4,5]
t=a
a=b
print('t=',t) -> t=[1,2,3]
에서는 t가 [4,5]로 변하지 않고 이때도 t와 a가 같은 공간을 사용한다면 a=b로 변했을때 t는 변하지 않는 이유가 궁금합니다 ..

위의 것은 재할당,

아래 것은 기존 배열 값을 수정.

 

 

a=[1,2,3]
b=[4,5]

t=a # [1,2,3]
a=b # [4,5]

print(t) # [1,2,3]


a=[1,2,3]

t=a # [1,2,3]

a[0]=5 # a 수정, 현재 a =[5,2,3], 그 결과 t =[5,2,3]

print(a) # [5,2,3]
print(t) # [5,2,3]

 

 

변수는 값을 담는 그릇. 

엄밀히 말하면,

해당 값이 저장된 데이터를 가리키는 지시자 역할.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,652 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT