8.1 Tabela operatorów i metod
Język Python wspiera przeciążenie operatorów, co oznacza, że operacje na obiektach można robić nie tylko za pomocą metod, ale również za pomocą operatorów, takich jak: +
, -
, *
, /
, |
itd.
Klasa set
(zbiór) przeciążyła wszystkie możliwe operatory, żeby praca ze zbiorami była prosta i bardzo podobna do tej, jaką znamy z matematyki.
Oto tabela takich operatorów:
Operator | Metoda | Opis |
---|---|---|
| |
union() |
Zwraca sumę dwóch zbiorów. |
& |
intersection() |
Zwraca przecięcie zbiorów (tylko wspólne elementy). |
- |
difference() |
Zwraca różnicę zbiorów (elementy, które są tylko w pierwszym zbiorze). |
^ |
symmetric_difference() |
Zwraca różnicę symetryczną zbiorów (elementy, które są w jednym z zbiorów, ale nie w obu). |
<= |
issubset() |
Sprawdza, czy jeden zbiór jest podzbiorem drugiego. |
< |
issubset() |
Sprawdza, czy jeden zbiór jest własnym podzbiorem drugiego (właściwy podzbiór). |
>= |
issuperset() |
Sprawdza, czy jeden zbiór jest nadzbiorem drugiego. |
> |
issuperset() |
Sprawdza, czy jeden zbiór jest własnym nadzbiorem drugiego (właściwy nadzbiór). |
== |
__eq__() |
Sprawdza, czy zbiory są równe (zawierają te same elementy). |
!= |
__ne__() |
Sprawdza, czy zbiory nie są równe (zawierają różne elementy). |
Bardzo wygodne jest używanie operatorów przy pracy ze zbiorami – teraz sam się o tym przekonasz.
8.2 Praca ze zbiorami za pomocą operatorów
Suma (OR)
Operator | | Użycie funkcji union() |
---|---|
|
|
Przecięcie (AND)
Operator & | Użycie funkcji intersection() |
---|---|
|
|
Różnica (DIFFERENCE)
Operator - | Użycie funkcji difference() |
---|---|
|
|
Różnica symetryczna (SYMMETRIC DIFFERENCE)
Operator ^ | Użycie funkcji symmetric_difference() |
---|---|
|
|
Dziwne, że nigdzie nie jest używany operator +
ani *
, ale jak to się mówi - kto pyta, nie błądzi. Twórcy języka Python tak zadecydowali i pewnie wiedzą lepiej.
GO TO FULL VERSION