advanced programming techniques after the exec(call the context dictionary contains key called "area_of_ spherewhose value is the area_of_sphere(function here is how we can access and call the functionarea_of_sphere context["area_of_sphere"area area_of_sphere( area = the area_of_sphere object is an object reference to the function we have dynamically created and can be used just like any other function and although we created only single function in the exec(callunlike eval()which can operate on only single expressionexec(can handle as many python statements as we likeincluding entire modulesas we will see in the next subsubsection dynamically importing modules python provides three straightforward mechanisms that can be used to create plug-insall of which involve importing modules by name at runtime and once we have dynamically imported additional moduleswe can use python' introspection functions to check the availability of the functionality we wantand to access it as required in this subsubsection we will review the magic-numbers py program this program reads the first bytes of each file given on the command line and for each one outputs the file' type (or the text "unknown")and the filename here is an example command line and an extract from its outputc:\python \python exe magic-numbers py :\windows\xml :\windows\windowsshell manifest unknown :\windows\windowsupdate log windows executable :\windows\winhelp exe windows executable :\windows\winhlp exe windows bmp image :\windows\winnt bmp the program tries to load in any module that is in the same directory as the program and whose name contains the text "magicsuch modules are expected to provide single public functionget_file_type(two very simple example modulesstandardmagicnumbers py and windowsmagicnumbers pythat each have get_file_type(function are provided with the book' examples we will review the program' main(function in two parts def main()modules load_modules(get_file_type_functions [for module in modules