8.1 연산자와 메소드 표
Python 언어는 연산자 오버로딩을 지원해. 이 말은 즉, 객체에 대한 연산을 메소드뿐만 아니라 +, -, *, /, | 같은 연산자를 사용해도 가능하다고.
set (집합) 클래스는 가능한 연산자들을 모두 오버로딩 했어. 덕분에 수학에서 집합을 다루는 것처럼 쉽게 집합을 다룰 수 있어.
다음은 그런 연산자들의 표에요:
| 연산자 | 메소드 | 설명 |
|---|---|---|
| |
union() |
두 집합의 합집합 반환 |
& |
intersection() |
집합의 교집합 반환 (공통 요소만) |
- |
difference() |
두 집합의 차집합 반환 (첫 번째 집합에만 있는 요소) |
^ |
symmetric_difference() |
두 집합의 대칭차 반환 (각 집합에만 있는 요소) |
<= |
issubset() |
한 집합이 다른 집합의 부분집합인지 확인 |
< |
issubset() |
한 집합이 다른 집합의 진부분집합인지 확인 |
>= |
issuperset() |
한 집합이 다른 집합의 상위집합인지 확인 |
> |
issuperset() |
한 집합이 다른 집합의 진상위집합인지 확인 |
== |
__eq__() |
집합이 동등한지 확인 (동일한 요소 포함) |
!= |
__ne__() |
집합이 서로 다른지 확인 (다른 요소 포함) |
집합을 다룰 때 연산자를 사용하면 굉장히 편리해. 직접 해보면 알 수 있을 거야.
8.2 연산자를 통한 집합 작업
합집합 (OR)
| 연산자 | | union() 함수 사용 |
|---|---|
|
|
교집합 (AND)
| 연산자 & | intersection() 함수 사용 |
|---|---|
|
|
차집합 (DIFFERENCE)
| 연산자 - | difference() 함수 사용 |
|---|---|
|
|
대칭차 (SYMMETRIC DIFFERENCE)
| 연산자 ^ | symmetric_difference() 함수 사용 |
|---|---|
|
|
이상하게도 + 또는 * 연산자는 사용되지 않아. 하지만 Python 언어 설계자들이 그렇게 결정했으니까, 그들의 선택이겠지.
GO TO FULL VERSION