Custom Containers question (Chapter 7, lesson 9)

Okay, so I think I understand this lesson mostly (Chapter 7, lesson 9), but I do have a question that is weighing on my mind.

Why can we add and call items in the dictionary using cloud.add() and print(cloud[“tag”]) but we can’t call the dictionary using print(cloud) and we have to call print(cloud.tags)?