동일 객체 참조 확인 연산자 is , is not에 대해서 소스의 예를 들어 소개합니다. 소스 샘플은 [Google Colab에서 Python 코드 실행하기] 글에서 언급한 환경을 이용하면 Python 프로그램을 PC에 설치하지 않더라도 Chrome, IE, Edge의 Browser에서 쉽게 Python프로그램을 실행하고 따라할 수 있습니다.
a is b | a와 b가 서로 동일한 객체를 참조 한다면 True , 그 외는 False |
a is not b | a와 b가 서로 동일한 객체를 참조 하지 않는다면 True , 그 외는 False |
먼저 읽어야 하는 글
이 글의 존재 확인 연산자 is, is not은 다음 글의 조건문에서 사용됩니다.
Python if~elif~else문 조건 분기
if문은 프로그램에서 다루는 정보를 판단하여 분기 처리를 하기 위해 사용됩니다. 이 글에서는 분기 처리의 이해를 돕기 위해 if문 형식과 샘플 소스의 예시를 들어 소개합니다. 참고로 소스 샘플은 글에서 언급한 환경을...
연산자 a is b 따라하기
c언어의 포인터 변수와 같이 b변수에 a변수의 주소 값을 설정하므로 a변수와 b변수는 같은 ‘This Is Zinnunkebi Site‘ 문자열 참조합니다. 참고로 id()함수는 객체의 메모리 주소 값을 반환하는 함수입니다. hex()함수는 입력 숫자를 16 진수로 표시합니다.
a = 'This Is Zinnunkebi Site'
b = a
if a is b:
print('a[' + hex(id(a)) + '] address is the same as b[' + hex(id(b)) + ']')
if a == b:
print('a[' + a + '] value is the same as b[' + b + ']')
실행 결과는 다음과 같습니다.
a[0x7ff4357976c0] address is the same as b[0x7ff4357976c0]
a[This Is Zinnunkebi Site] value is the same as b[This Is Zinnunkebi Site]
연산자 a is not b 따라하기
a변수의 ‘This Is Zinnunkebi Site‘ 문자열에 대해 lower() 함수 결과 ‘this is zinnunkebi site‘ 문자열을 b에 설정합니다.
a = 'This Is Zinnunkebi Site'
b = a.lower()
if a is not b:
print('a[' + hex(id(a)) + '] address is not the same as b[' + hex(id(b)) + ']' )
if a != b:
print('a[' + a + '] value is not the same as b[' + b + ']')
실행 결과는 다음과 같습니다.
a[0x7ff4381f5350] address is not the same as b[0x7ff438212b70]
a[This Is Zinnunkebi Site] value is not the same as b[this is zinnunkebi site]