logo

Różnica między != i nie jest operatorem w Pythonie

W tym artykule zobaczymy != (Nierówne) operatory. W Pythonie != definiuje się jako nie równe operator. To powraca PRAWDA jeśli operandy po obu stronach nie są sobie równe, i zwraca FAŁSZ jeśli są równe. Mając na uwadze, że nie jest operator sprawdza, czy id() dwóch obiektów jest takie samo, czy nie. Jeśli to samo, powraca FAŁSZ a jeśli nie to samo, powraca PRAWDA. I nie jest operator zwraca True, jeśli operandy po obu stronach nie są sobie równe, i zwraca Fałsz, jeśli są równe.

Rozumiemy pojęcia jeden po drugim:

Przykład 1:



Python3




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))>

>

>

Wyjście:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600>

Wyjaśnienie:

  1. Najpierw w przypadku danych całkowitych wynik był fałszywy, ponieważ obie zmienne a, b odnoszą się do tych samych danych 10.
  2. Po drugie, w przypadku danych łańcuchowych wynik był fałszywy, ponieważ obie zmienne c, d odnoszą się do tych samych danych Pythona.
  3. Po trzecie, w przypadku danych listowych wynik był prawdziwy, ponieważ zmienne e, f mają inny adres pamięci. (Mimo że obie zmienne mają te same dane)

Przykład 2:

!= definiuje się jako nie równe operator. To powraca PRAWDA jeśli operandy po obu stronach nie są sobie równe, i zwraca FAŁSZ jeśli są równe.

Python3




# 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))>

samouczek dotyczący mikrousług
>

>

Wyjście:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064>

Przykład 3:

The != operator porównuje wartość lub równość dwóch obiektów, podczas gdy Python nie jest operator sprawdza, czy dwie zmienne wskazują na ten sam obiekt w pamięci.

Python3




# 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'>)>

>

>

Wyjście:

First else Condition False Second if Condition True Third else Condition False Fourth if Condition True>

Wyjaśnienie:

  1. Dane wyjściowe najpierw jeśli warunek ma wartość Fałsz, ponieważ zarówno lista1, jak i lista2 są listami pustymi.
  2. Po drugie, jeśli warunek ma wartość True, ponieważ dwie puste listy znajdują się w różnych lokalizacjach pamięci. Dlatego lista1 i lista2 odnoszą się do różnych obiektów. Możemy to sprawdzić za pomocą funkcji id() w Pythonie, która zwraca tożsamość obiektu.
  3. Dane wyjściowe trzeci jeśli warunek ma wartość Fałsz, ponieważ zarówno lista1, jak i lista3 wskazują na ten sam obiekt.
  4. Dane wyjściowe czwarty jeśli warunek jest prawdziwy, ponieważ połączenie dwóch list zawsze tworzy nową listę.