Hi Robert,
I guess your book was written in PY2’s time?
You can use isinstance(something, str) in PY3 but isinstance(something, (str, unicode)) in PY2, or isinstance(something, six.string_types) if you want to keep compatibility with PY2x3.
| TYPE | PY2 | PY3 |
|---|---|---|
| Unicode string | unicode | str |
| Bytes string | str(=bytes) | bytes |