이 기사에서 우리는 볼 것입니다 != (같지 않음) 연산자. 파이썬에서 != 다음과 같이 정의됩니다. 같지 않음 운영자. 그것은 반환 진실 양쪽의 피연산자가 서로 같지 않으면 다음을 반환합니다. 거짓 동등하다면. 반면 아니다 연산자는 두 개체의 id()가 동일한지 여부를 확인합니다. 동일하면 반환됩니다. 거짓 동일하지 않으면 반환됩니다. 진실. 그리고 아니다 연산자는 양쪽의 피연산자가 서로 같지 않으면 True를 반환하고 같으면 False를 반환합니다.
개념을 하나씩 이해해 보겠습니다.
예시 1:
파이썬3
a>=> 10> b>=> 10> > print>(a>is> not> b)> print>(>id>(a),>id>(b))> > c>=> 'Python'> d>=> 'Python'> print>(c>is> not> d)> print>(>id>(c),>id>(d))> > e>=> [>1>,>2>,>3>,>4>]> f>=> [>1>,>2>,>3>,>4>]> print>(e>is> not> f)> print>(>id>(e),>id>(f))> |
>
>
산출:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600>
설명:
- 먼저 정수 데이터의 경우 변수 a, b가 모두 동일한 데이터 10을 참조하기 때문에 출력이 false였습니다.
- 두 번째로 문자열 데이터의 경우 변수 c, d가 모두 동일한 데이터 Python을 참조하기 때문에 출력이 false였습니다.
- 세 번째로 목록 데이터의 경우 변수 e, f의 메모리 주소가 다르기 때문에 출력이 true였습니다.(두 변수가 동일한 데이터를 가지더라도)
예시 2:
!= 다음과 같이 정의됩니다. 같지 않음 운영자. 그것은 반환 진실 양쪽의 피연산자가 서로 같지 않으면 다음을 반환합니다. 거짓 동등하다면.
파이썬3
# Python3 code to> # illustrate the> # difference between> # != and is operator> > a>=> 10> b>=> 10> print>(a !>=> b)> print>(>id>(a),>id>(b))> > c>=> 'Python'> d>=> 'Python'> print>(c !>=> d)> print>(>id>(c),>id>(d))> > e>=> [>1>,>2>,>3>,>4>]> f>=>[>1>,>2>,>3>,>4>]> print>(e !>=> f)> print>(>id>(e),>id>(f))> |
루프 유형에 대한 Java
>
>
산출:
False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064>
예시 3:
그만큼 != 연산자는 두 객체의 값이나 동등성을 비교하는 반면, Python은 아니다 연산자는 두 변수가 메모리의 동일한 객체를 가리키는지 확인합니다.
파이썬3
# Python3 code to> # illustrate the> # difference between> # != and is not operator> # [] is an empty list> list1>=> []> list2>=> []> list3>=> list1> > #First if> if> (list1 !>=> list2):> >print>(>' First if Condition True'>)> else>:> >print>(>'First else Condition False'>)> > #Second if> if> (list1>is> not> list2):> >print>(>'Second if Condition True'>)> else>:> >print>(>'Second else Condition False'>)> > #Third if> if> (list1>is> not> list3):> >print>(>'Third if Condition True'>)> else>:> >print>(>'Third else Condition False'>)> > list3>=> list3>+> list2> > #Fourth if> if> (list1>is> not> list3):> >print>(>'Fourth if Condition True'>)> else>:> >print>(>'Fourth else Condition False'>)> |
>
>
산출:
First else Condition False Second if Condition True Third else Condition False Fourth if Condition True>
설명:
- 의 출력 먼저 만약에 list1과 list2가 모두 빈 목록이므로 조건은 False입니다. 두 번째는 두 개의 빈 목록이 서로 다른 메모리 위치에 있기 때문에 조건이 True로 표시되는 경우입니다. 따라서 list1과 list2는 서로 다른 객체를 참조합니다. 객체의 ID를 반환하는 Python의 id() 함수를 사용하여 확인할 수 있습니다.
- 의 출력 세 번째 경우 list1과 list3이 모두 동일한 객체를 가리키므로 조건은 False입니다.
- 의 출력 네 번째 경우 두 목록을 연결하면 항상 새 목록이 생성되므로 조건은 True입니다.