The Python Interpreter (Command Line Console)

The Interpreter (Command Line Console) helps the programmers in performing different essential functions. Learn more about Python Interpreter here.

Getting general help

If the help function is called in the console without any arguments, Python presents an interactive help console, where you can find out about Python modules, symbols, keywords and more.

Welcome to Python 3.4's help utility!
If this is your first time using Python, you should definitely check out the tutorial on the Internet at
Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit".
To get a list of available modules, keywords, symbols, or topics, type "modules", "keywords", "symbols", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose name or summary contain a given string such as "spam", type "modules spam".

Python Interpreter: Referring to the last expression

To get the value of the last result from your last expression in the console, use an underscore _.

2 + 2
_ + 6

This magic underscore value is only updated when using a python expression that results in a value. Defining functions or for loops does not change the value. If the expression raises an exception there will be no changes to _.

"Hello, {0}".format("World") 'Hello, World'
def wontchangethings():
'Hello, World'

Remember, this magic variable is only available in the interactive python interpreter. Running scripts will not do this.

Opening the Python console

The console for the primary version of Python can usually be opened by typing py into your windows console or python on other platforms.

$ py
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more infrmation.


If you have multiple versions, then by default their executables will be mapped to python2 or python3 respectively.

This of course depends on the Python executables being in your PATH.


You can set an environment variable called PYTHONSTARTUP for Python’s console. Whenever you enter the Python console, this file will be executed, allowing for you to add extra functionality to the console such as importing commonly-used modules automatically.

If the PYTHONSTARTUP variable was set to the location of a file containing this:


Then opening the Python console would result in this extra output:

$ py
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. Welcome!


Python Interpreter: Command line arguments

Python has a variety of command-line switches which can be passed to py. These can be found by performing py — help, which gives this output on Python 3.4:

Python Launcher
usage: py [ launcher-arguments ] [ python-arguments ] script [ script-arguments ]
Launcher arguments:
-2 : Launch the latest Python 2.x version
-3 : Launch the latest Python 3.x version
-X.Y : Launch the specified Python version
-X.Y-32: Launch the specified 32bit Python version
The following help text is from Python:
usage: G:\Python34\python.exe [option] … [-c cmd | -m mod | file | -] [arg] …
Options and arguments (and corresponding environment variables):
-b : issue warnings about str(bytes_instance), str(bytearray_instance)
and comparing bytes/bytearray with str. (-bb: issue errors)
-B : don't write .py[co] files on import; also PYTHONDONTWRITEBYTECODE=x
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser; also PYTHONDEBUG=x
-E : ignore PYTHON* environment variables (such as PYTHONPATH)
-h : print this help message and exit (also --help)
-i : inspect interactively after running script; forces a prompt even if stdin does not appear to be a terminal; also PYTHONINSPECT=x
-I : isolate Python from the user's environment (implies -E and -s)
-m mod : run library module as a script (terminates option list)
-O : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x
-OO : remove doc-strings in addition to the -O optimizations
-q : don't print version and copyright messages on interactive startup
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S : don't imply 'import site' on initialization
-u : unbuffered binary stdout and stderr, stdin always buffered; also PYTHONUNBUFFERED=x
see man page for details on internal buffering relating to '-u' -v : verbose (trace import statements); also PYTHONVERBOSE=x can be supplied multiple times to increase verbosity
-V : print the Python version number and exit (also --version)
-W arg : warning control; arg is action:message:category:module:lineno also PYTHONWARNINGS=arg
-x : skip first line of source, allowing use of non-Unix forms of #!cmd
-X opt : set implementation-specific option
file : program read from script file
: program read from stdin (default; interactive mode if a tty) arg …: arguments passed to program in sys.argv[1:]
Other environment variables:
PYTHONSTARTUP: file executed on interactive startup (no default)
PYTHONPATH : ';'-separated list of directories prefixed to the default module search path. The result is sys.path. PYTHONHOME : alternate directory (or ;).
The default module search path uses \lib.
PYTHONCASEOK : ignore case in 'import' statements (Windows).
PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.
PYTHONFAULTHANDLER: dump the Python traceback on fatal errors. PYTHONHASHSEED: if this variable is set to 'random', a random value is used to seed the hashes of str, bytes and datetime objects. It can also be
set to an integer in the range [0,4294967295] to get hash values with a predictable seed.

Python Interpreter: Getting help about an object

The Python console adds a new function, help, which can be used to get information about a function or object.

For a function, help prints its signature (arguments) and its docstring, if the function has one.

Help on built-in function print in module builtins:
print(value, …, sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.

For an object, help lists the object’s docstring and the different member functions which the object has.

x = 2
Help on int object:
class int(object)
int(x=0) -> integer
int(x, base=10) -> integer
Convert a number or string to an integer, or return 0 if no arguments
are given. If x is a number, return For floating point
numbers, this truncates towards zero.
If x is not a number or if base is given, then x must be a string,
bytes, or bytearray instance representing an integer literal in the
given base. The literal can be preceded by '+' or '-' and be surrounded
by whitespace. The base defaults to 10. Valid bases are 0 and 2-36.
Base 0 means to interpret the base from the string as an integer literal.
int('0b100', base=0)
Methods defined here:
abs(self, /)
add(self, value, /)
Return self+value…

Learn more

Leave a Comment