June 2017
Beginner
352 pages
8h 39m
English
We tend not to protect against TypeErrors in Python. To do so runs against the grain of dynamic typing in Python and limits the re-use potential of code we write.
For example, we could test whether the argument was an str using the built-in isinstance() function and raise a TypeError exception if it was not:
def convert(s): """Convert a string to an integer.""" if not isinstance(s, str): raise TypeError("Argument must be a string".) try: return int(s) except (ValueError, TypeError) as e: print("Conversion error: {}".format(str(e)), file=sys.stderr) raise
But then we'd also want to allow arguments that are instances of float as well. It soon gets complicated if we want to check whether our function will ...
Read now
Unlock full access