강의로 돌아가기
김준홍

문제와 관련없지만 is에 대하여

list 의 경우에는 값이 같아도 인스턴스가 다르므로 문제처럼 is를 쓸 경우 false 가 나지만
int형의 경우에는 a=3 b=3 하고 a is b 할 경우 true 가 나오네요 어째서인가요??
그렇다고 list 처럼 b를 변경할 때 a도 같이 변경되는 것도 아닌것을 보아 같은 인스턴스가 아닌거 같은데 어째서 true 가 나올까요

작성중인 코드―is_operator.py
1
2
3
4
5
6
7
8
9
10
11
12
list1 = [1, 2, 3]
list2 = [1, 2, 3]

if list1 is list1:
    print("당연히 list1과 list1은 같은 인스턴스입니다.")

if list1 == list2:
    print("list1과 list2의 값은 같습니다.")
    if list1 is list2:
        print("그리고 list1과 list2는 같은 인스턴스입니다.")
    else:
        print("하지만 list1과 list2는 다른 인스턴스입니다.")
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.