isdisjoint() проверяет, не имеют ли два множества общих элементов. Возвращает True, если пересечение пустое, и False в противном случае.  Не меняет множества.
  intersection() возвращает новое множество, содержащее только общие элементы двух или более множеств. Исходные множества не изменяются.
    Методы isdisjoint() и intersection() оба используются для работы с множествами (set) в Python, но выполняют разные задачи. Их ключевые отличия заключаются в следующем:
  
    isdisjoint():
  
True, если множества не пересекаются (то есть не имеют общих элементов), и False в противном случае.
    
    intersection():
  
Пример:
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = {6,7,8}
print(set1.isdisjoint(set2))  # Output: False (есть общий элемент 3)
print(set1.isdisjoint(set3))  # Output: True (нет общих элементов)
print(set1.intersection(set2)) # Output: {3} (возвращает множество, содержащее общий элемент 3)
print(set1.intersection(set3)) # Output: {} (возвращает пустое множество, т.к. нет общих элементов)
    Вкратце, isdisjoint() предназначен для проверки, пересекаются ли множества, а intersection() - для получения множества общих элементов.  isdisjoint() возвращает булево значение, а intersection() - множество.