A module is another term for a separate file. If you divide a large program into subprograms and store those subprograms in a separate file, each file is a module. A module variable lets you create a variable that can be accessed only by code stored in that particular module. The advantage of module variables is that they give you the convenience of a global variable but without the danger of letting every part of a program access that variable.
![]()
Instead, module scope limits access only to code in that file. Although an improvement over global variables, module variables also have some of the disadvantages of global variables. If a file contains a lot of sub programs, trying to find which line of code is messing up your module variable can still be troublesome.
After you isolate commands inside a subprogram, your program can’t run those commands until it “calls” the subprogram. Calling a subprogram basically tells the computer, “See those commands stored in that subprogram over there? Run those commands now!” Every subprogram needs a unique name so when you call that subprogram to run, the computer knows exactly which subprogram to use. Public subprograms allow other parts of a program to manipulate an object.