The sys library connects a Python program to the system it is running on.

The list sys.argv contains the command-line arguments that a program was run with.

Avoid silent failures.

The pseudo-file sys.stdin connects to a program’s standard input.

The pseudo-file sys.stdout connects to a program’s standard output.

Glossary

additive color model

A way to represent colors as the sum of contributions from primary colors
such as red, green, and blue.

argument

A value given to a function or program when it runs.
The term is often used interchangeably (and inconsistently) with parameter.

assertion

An expression which is supposed to be true at a particular point in a program.
Programmers typically put assertions in their code to check for errors;
if the assertion fails (i.e., if the expression evaluates as false),
the program halts and produces an error message.
See also: invariant, precondition,
postcondition.

assign

To give a value a name by associating a variable with it.

body

(of a function): the statements that are executed when a function runs.

call stack

A data structure inside a running program that keeps track of active function calls.

case-insensitive

Treating text as if upper and lower case characters of the same letter were the same.
See also: case-sensitive.

case-sensitive

Treating text as if upper and lower case characters of the same letter are different.
See also: case-insensitive.

comment

A remark in a program that is intended to help human readers understand what is going on,
but is ignored by the computer.
Comments in Python, R, and the Unix shell start with a # character and
run to the end of the line;
comments in SQL start with --,
and other languages have other conventions.

compose

To apply one function to the result of another, such as f(g(x)).

conditional statement

A statement in a program that might or might not be executed
depending on whether a test is true or false.

comma-separated values

(CSV) A common textual representation for tables
in which the values in each row are separated by commas.

The practice of writing programs that check their own operation
to catch errors as early as possible.

delimiter

A character or characters used to separate individual values,
such as the commas between columns in a CSV file.

docstring

Short for “documentation string”,
this refers to textual documentation embedded in Python programs.
Unlike comments, docstrings are preserved in the running program
and can be examined in interactive sessions.

documentation

Human-language text written to explain what software does,
how it works, or how to use it.

dotted notation

A two-part notation used in many programming languages
in which thing.component refers to the component belonging to thing.

empty string

A character string containing no characters,
often thought of as the “zero” of text.

encapsulation

The practice of hiding something’s implementation details
so that the rest of a program can worry about what it does
rather than how it does it.

floating-point number

A number containing a fractional part and an exponent.
See also: integer.

for loop

A loop that is executed once for each value in some kind of set, list, or range.
See also: while loop.

function

A group of instructions (i.e., lines of code) that transform
some input arguments to some output.

function call

A use of a function in another piece of software.

immutable

Unchangeable.
The value of immutable data cannot be altered after it has been created.
See also: mutable.

An operator such as += that provides a shorthand notation for
the common case in which the variable being assigned to
is also an operand on the right hand side of the assignment.
For example, the statement x += 3 means the same thing as x = x + 3.

index

A subscript that specifies the location of a single value in a collection,
such as a single pixel in an image.

A variable named in the function’s declaration that is used to
hold a value passed into the call.
The term is often used interchangeably (and inconsistently) with argument.

pipe

A connection from the output of one program to the input of another.
When two or more programs are connected in this way, they are called a “pipeline”.

postcondition

A condition that a function (or other block of code) guarantees is true
once it has finished running.
Postconditions are often represented using assertions.

precondition

A condition that must be true in order for a function (or other block of code)
to run correctly.

regression

To re-introduce a bug that was once fixed.

return statement

A statement that causes a function to stop executing and return a value
to its caller immediately.

RGB

An additive model
that represents colors as combinations of red, green, and blue.
Each color’s value is typically in the range 0..255
(i.e., a one-byte integer).

sequence

A collection of information that is presented in a specific order.
For example, in Python, a string is a sequence of characters,
while a list is a sequence of any variable.

shape

An array’s dimensions, represented as a vector.
For example, a 5×3 array’s shape is (5,3).

silent failure

Failing without producing any warning messages.
Silent failures are hard to detect and debug.

slice

A regular subsequence of a larger sequence,
such as the first five elements or every second element.

stack frame

A data structure that provides storage for a function’s local variables.
Each time a function is called, a new stack frame is created
and put on the top of the call stack. When the function returns,
the stack frame is discarded.

standard input

A process’s default input stream.
In interactive command-line applications,
it is typically connected to the keyboard; in a pipe,
it receives data from the standard output of the preceding process.

standard output

A process’s default output stream.
In interactive command-line applications,
data sent to standard output is displayed on the screen;
in a pipe,
it is passed to the standard input of the next process.