#Author: James Tam #Version: June 10, 2024 #Learning: # *Decomposing a procedural program into modules # *Why a wildcard * mass important is regarded as bad style import Module_A from Module_B import * from Module_C import fun1, fun6 import Module_D #Importing all from Module_A and Module_C makes it ambigious which fun1() to #call (last import is the one used). #from Module_A import * #from Module_D import * #Overrides the fun3 in Module_B if uncommented """ def fun3(): print("Driver.fun3()") """ def start(): Module_A.fun1() Module_A.fun2() fun3() fun4() fun5() fun1() fun6() Module_D.fun1() start()