logo

Rozdíl mezi operátorem != a není v Pythonu

V tomto článku se podíváme != (Nestejné) operátory. V Pythonu != je definován jako nerovná se operátor. Vrací se Skutečný pokud operandy na obou stranách nejsou stejné, a vrátí Nepravdivé pokud jsou si rovni. Zatímco není operátor kontroluje, zda je id() dvou objektů stejné nebo ne. Pokud stejné, vrátí se Nepravdivé a pokud není stejný, vrátí se Skutečný. A není operátor vrátí True, pokud se operandy na obou stranách navzájem nerovnají, a vrátí false, pokud jsou stejné.

Pojďme pochopit pojmy jeden po druhém:

Příklad 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))>

>

>

Výstup:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 True 2693232342792 2693232342600>

Vysvětlení:

  1. Nejprve s celočíselnými daty byl výstup nepravdivý, protože obě proměnné a, b odkazují na stejná data 10.
  2. Za druhé s řetězcovými daty byl výstup nepravdivý, protože obě proměnné c, d odkazují na stejná data Pythonu.
  3. Za třetí s daty seznamu byl výstup pravdivý, protože proměnné e, f mají různé adresy paměti. (I když obě proměnné mají stejná data)

Příklad 2:

!= je definován jako nerovná se operátor. Vrací se Skutečný pokud operandy na obou stranách nejsou stejné, a vrátí Nepravdivé pokud jsou si rovni.

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

alternativa mylivecricket
>

>

Výstup:

False 140733278626480 140733278626480 False 2693154698864 2693154698864 False 2693232369224 2693232341064>

Příklad 3:

The != operátor porovnává hodnotu nebo rovnost dvou objektů, zatímco Python není operátor kontroluje, zda dvě proměnné ukazují na stejný objekt v paměti.

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

>

>

Výstup:

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

Vysvětlení:

  1. Výstup z nejprve pokud podmínka je False, protože seznam1 i seznam2 jsou prázdné seznamy.
  2. Za druhé, pokud podmínka zobrazuje hodnotu True, protože dva prázdné seznamy jsou na různých místech paměti. Seznam1 a seznam2 tedy odkazují na různé objekty. Můžeme to zkontrolovat pomocí funkce id() v pythonu, která vrací identitu objektu.
  3. Výstup z třetí pokud podmínka je False, protože seznam1 i seznam3 ukazují na stejný objekt.
  4. Výstup z čtvrté jestliže podmínka je True, protože zřetězení dvou seznamů vždy vytvoří nový seznam.