728x90
반응형
* 본 포스팅은 주피터 노트북에서 실행하였다.
객체의 동일성(identity)에 대해 알아보자
list_a = [10, 20, 30]
list_b = [10, 20, 30]
if list_a is list_b:
print('list_a is list_b')
else :
print('list_a is not list_b')
list_a와 list_b가 다르다고 한다. 왜일까?
id(list_a) #2454901262600
id(list_b) #2454901262088
id()를 이용하여 각각의 id값을 확인했는데 다름을 확인할 수 있었다...
두 인스턴스의 속성값 즉 인스턴스 변수값이 서로 일치하는지 확인하기 위해서는 == 사용
파이썬 == -> 자바 equals
자바 == -> 파이썬 is
위를 참고하여 ==을 이용하니 같다고 떴다.
if list_a == list_b:
print('list_a == list_b')
else :
print('list_a != list_b')
a = 'ABC' #문자열 객체를 참조하는 변수 a
b = 'ABC' #문자열 객체를 참조하는 변수 b
if a is b:
print('a is b')
else :
print('a is not b')
id(a) # 2454831867584
id(b) # 2454831867584
문자열 객체는 id의 값이 같음을 확인할 수 있다.
문자열이 동일하게 결과가 나오는 것은 동일한 메모리에 있다는 것을 의미하고 문자열을 변경하지 못한다. (immutable)
728x90
반응형
'Language > Python' 카테고리의 다른 글
[Python/파이썬] 람다함수(lambda function) (0) | 2021.06.02 |
---|---|
[Python/파이썬] 클래스와 특수 메소드 (0) | 2021.06.02 |
[Python/파이썬] 클래스(class), 객체(object), 생성자, 메서드 만들기 (0) | 2021.06.02 |
[Python/파이썬] turtle 모듈 사용하기 (0) | 2021.06.02 |
[Python/파이선] 수학 내장 함수 사용하기 / sin(), cos() (0) | 2021.06.02 |