인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

xorwn12345님의 프로필 이미지
xorwn12345

작성한 질문수

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

클래스 & 메소드 심화(2-1)

is 비교 구문

작성

·

260

0

print(car1 is Car)
print(car1.__class__ is Car) # 추가 객체 비교
print(id(car1.__class__),id(Car))
print(id(car1.__class__) is id(Car))
print(id(car1.__class__) == id(Car))

False

True

2317159548848 2317159548848

False

True

 

두번째 print문도 false면

네번째 print문이 false 나오는게 이해가 갈텐데

왜 두번째는 True 네번째는 False일까요..

 

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요.

좋은 질문이예요

class 생성 후 id 값을 별도로 출력해보면 서로다른 인스턴스를 생성한걸 확인할 수 있을거예요.

id 값만 출력해보세요!

xorwn12345님의 프로필 이미지
xorwn12345
질문자

말씀하신대로 id(car1),id(Car) 하면 다르게 나오지만

car1.__class__ is Car 의 결과 true

car1.__class__ == Car 의 결과 true

결론은 car1.__class__ 은 Car 이다.

이해를 못하겠어서 혹시 예시 코드 하나만 들어주실수 있을까요..

xorwn12345님의 프로필 이미지
xorwn12345

작성한 질문수

질문하기