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í:
- Nejprve s celočíselnými daty byl výstup nepravdivý, protože obě proměnné a, b odkazují na stejná data 10.
- Za druhé s řetězcovými daty byl výstup nepravdivý, protože obě proměnné c, d odkazují na stejná data Pythonu.
- 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í:
- Výstup z nejprve pokud podmínka je False, protože seznam1 i seznam2 jsou prázdné seznamy. 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.
- Výstup z třetí pokud podmínka je False, protože seznam1 i seznam3 ukazují na stejný objekt.
- Výstup z čtvrté jestliže podmínka je True, protože zřetězení dvou seznamů vždy vytvoří nový seznam.