August 2018
Intermediate to advanced
366 pages
10h 14m
English
The code is split into three sections: initializing logging, the fibo function, and the main function of our tool. We explicitly divided code this way because the fibo function might be used in other modules, and in such a case, we don't want logging to be reconfigured; we just want to use the logging configuration that the program will provide. For that reason, the logging.basicConfig call is wrapped in __name__ == '__main__' so that logging is only configured when the module is called directly as a tool and not when it's imported by other modules.
When multiple logging.basicConfig instances are called, only the first one will be considered. If we didn't wrap our logging configuration in if when imported by other modules, ...