====== Python3 Interactive Interpreter ======
The Python3 interactive interpreter (typically invoked with ''python3'' on the command line) allows for the entry of arbitrary Python3 commands, making it a great calculator and a great place to test simple ideas. The interpreter should feel familiar to users of shells made popular in many operating systems and [[https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop|read-eval-print]] loops in other languages.
===== Invocation =====
In Linux the interactive interpreter is invoked directly by calling ''python3'' without any arguments (e.g., a ''.py'' file to execute). In Windows this is bundled into the [[https://en.wikipedia.org/wiki/IDLE|IDLE]] [[https://en.wikipedia.org/wiki/Integrated_development_environment|development environment]].
This will open the Python3 prompt:
$ python3
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
The ''quit'' command exits.
===== Using the Interactive Interpreter =====
==== Basics Commands ====
==== The Help System ====
==== Loops ====
The interactive interpreter is quite limited compared to what can be accomplished in an actual Python3 program (i.e., a ''.py'' file), however its functionality can be easily extended slightly beyond that of one-liners. (Nested) Loops can be quickly tested in order to evaluate syntax and functionality.
>>> from math import *
>>> for i in range(10):
... print(int(log(2**i, 10))+1, end=' ') # single space before the print() to simulate indentation
... # additional lines in the loop here or to end
1 1 1 1 2 2 2 3 3 3 >>>
The above fragment computes powers of two, and then uses the decimal logarithm to compute the number of digits in each power.
This can be extended to basic nested structures.
>>> for i in range(3):
... for j in range(3): # preceded by a single space
... print(i, j, sep=',', end=" ") # preceded by two spaces
... # single keystroke
0,0 0,1 0,2 1,0 1,1 1,2 2,0 2,1 2,2 >>>
If you are looking to do anything more complicated, it is likely that you should create a temporary '''.py''' file.
==== Interactive Interpreter: Importing Files ====
The ''import'' statement can be used to import arbitrary Python3 files, which can be useful for quick unit tests (and doesn't require further file manipulation to drive tests).