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