An atomic type is an object type that cannot be separated into smaller object types. In Python, integers, floats, and Booleans are atomic. They are basic building blocks for values and for more complex objects. section 30.1
One value or a collection?
Consider `age = 30` and `ages = [30, 31]`. The integer `30` is atomic: it is not made up of smaller objects. The list is not atomic: it contains integer objects. Can you spot another atomic value in `[True, False]`? Both items are Booleans. section 30.1
“Built-in” and “atomic” do not mean the same thing. Strings, tuples, lists, and dictionaries are built into Python, but they are nonatomic because they can be broken down into other objects. Every object type has properties and operations you can use with it; being atomic does not mean an object has no operations. section 30.1 section 4.2
Why does the distinction help? Imagine keeping a grocery list with a separate string variable for every item. A list groups the items instead, making the code easier to organize. You can build your own object types in a similar spirit: choose the properties and behaviors they need, using existing objects as their parts. section 30.1 section 31.0
















