Inflearn Community Q&A
Python에만 있는 연산자들 질문드립니다.
Resolved
Written on
·
99
0
a = [1, 2, 3] b = a c = [1, 2, 3] d = [1, 2, 3, 4]
print(a is c) # False
print(a is not c) # True
완전 동일한 메모리를 참조하여야 같은 객체로 보는것인지 궁급합니다.
추가 설명 주시면 감사하겠습니다.
pythonjavac정보처리기사
Answer 1
0
weekendcode
Instructor
네 맞습니다.
두 객체가 같은 메모리 주소를 가리키고 있는지 확인합니다.
웃긴게, 짧은 문자열은 파이썬에서 캐싱되어 사용한 것을 그대로 씁니다.
a = "hello"
b = "hello"
print(a is b) # True
숫자도 -5 ~ 256 범위는 캐싱됩니다.
a = 100
b = 100
print(a is b) # True
a = -5
b = -5
print(a is b) # True
None하고 bool은 어떻게 비교해도 단일 객체로 True를 뱉습니다.
a = None
print(a is None) # True
a = True
b = True
print(a is b) # True
a = False
b = False
print(a is b) # True
굳이 이런 것들은 안 넣었습니다.
이렇게까지 시험에 나오지는 않을 것 같아서요.





그런데 어차피 섹션이 시험에 드물게 출제되는 범위라서,
저 내용도 방금 추가했습니다.