반응형
"is None"과 "== None"의 차이점은 무엇입니까
나는 최근 에이 구문을 보았습니다. 차이를 알지 못합니다.
누군가가 그 차이를 말해 줄 수 있다면 고맙겠습니다.
인용 :
클래스는 원하는 방식으로 비교를 자유롭게 구현할 수 있으며, None과 비교할 수 있습니다 (실제로 의미가 있습니다. 누군가가 None 객체를 처음부터 구현하도록 지시 한 경우 True를 비교하는 방법 그 자체로?).
실제로 말하면, 커스텀 비교 연산자가 드물기 때문에 큰 차이가 없습니다. 그러나 is None
일반적인 규칙으로 사용해야합니다 .
class Foo:
def __eq__(self,other):
return True
foo=Foo()
print(foo==None)
# True
print(foo is None)
# False
이 경우에는 동일합니다. None
은 단일 객체입니다 (단 하나만 존재합니다 None
).
is
객체가 동일한 객체인지 확인하고 ==는 동일한 객체인지 확인합니다.
예를 들면 다음과 같습니다.
p = [1]
q = [1]
p is q # False because they are not the same actual object
p == q # True because they are equivalent
그러나 하나만 있기 때문에 None
항상 동일하며 is
True를 반환합니다.
p = None
q = None
p is q # True because they are both pointing to the same "None"
numpy를 사용하면
if np.zeros(3)==None: pass
numpy가 요소별로 비교할 때 오류가 발생합니다.
참고 URL : https://stackoverflow.com/questions/3257919/what-is-the-difference-between-is-none-and-none
반응형
'IT' 카테고리의 다른 글
Spring Security를 사용할 때 Bean에서 현재 사용자 이름 (예 : SecurityContext) 정보를 얻는 올바른 방법은 무엇입니까? (0) | 2020.03.24 |
---|---|
NuGet 패키지 위치를 변경할 수 있습니까? (0) | 2020.03.24 |
Java에서 String을 InputStreamReader로 바꾸는 방법은 무엇입니까? (0) | 2020.03.24 |
jQuery 지연을 어떻게 사용할 수 있습니까? (0) | 2020.03.24 |
__main__.py은 (는) 무엇 이죠? (0) | 2020.03.24 |