--stringslistsand tuples--all share sequence operations such as concatenationlengthand indexing only mutable objects--listsdictionariesand sets--may be changed in placeyou cannot change numbersstringsor tuples in place files export only methodsso mutability doesn' really apply to them--their state may be changed when they are processedbut this isn' quite the same as python core type mutability constraints "numbersin table - includes all number typesinteger (and the distinct long integer in )floating pointcomplexdecimaland fraction "stringsin table - includes stras well as bytes in and unicode in xthe bytearray string type in and is mutable sets are something like the keys of valueless dictionarybut they don' map to values and are not orderedso sets are neither mapping nor sequence typefrozenset is an immutable variant of set in addition to type category operationsas of python and all the types in table - have callable methodswhich are generally specific to their type table - object classifications object type category mutablenumbers (allnumeric no strings (allsequence no lists sequence yes dictionaries mapping yes tuples sequence no files extension / sets set yes frozenset set no bytearray sequence yes why you will careoperator overloading in part vi of this bookwe'll see that objects we implement with classes can pick and choose from these categories arbitrarily for instanceif we want to provide new kind of specialized sequence object that is consistent with built-in sequenceswe can code class that overloads things like indexing and concatenationclass mysequencedef __getitem__(selfindex)called on self[index]others def __add__(selfother)called on self other tuplesfilesand everything else