Access Control: Access control is
the ability to selectively restrict who can access and or change variables and
methods.
Algorithm: An algorithm is a
precise, step by step plan for doing a computation.
Block: A block is
multiple lines of code that are organized as a unit. If lines of code are
sentences, blocks are paragraphs.
Boolean: A boolean is any
expression which is either True or False.
Casting: Converting from
one type to another is called casting. In a strongly typed language like
Python, this requires using an explicit command.
Class: A class is a
blueprint for creating a new data type. A class lets you write code to specify
the features and powers of the new data type. An object is a particular copy of
that data type.
Command Line
Arguments:
Command line arguments are arguments (or parameters) that are passed to the
program from the command line.
Comments: Comments are
written explanations in a code file that are ignored by the programming
language. They are meant for other human programmers to read.
Constructor: A constructor is
a method that builds a new object from a class blueprint.
CSS: CSS (short for cascading
style sheets) is another language, used for styling HTML and other web
content. Style was historically dictated
by HTML, but it got too complicated. CSS allows for more fine-grained control,
and also allows the style portions of a web page to be separated from the
content and markup (tag) portions.
Database: A relational
database (usually just called a database except when comparing to other types)
is a system for storing organized, persistent data. Persistent means the data
is meant to last a long time. Organized means the data is meant to follow a
well-defined pattern.
Definition: A function or
class definition is the code that
lets Python know what the function or class does. Python does not execute this
code until the function is called or an object is created from the class.
Dictionary: A dictionary is a
collection that lets you organize your data in pairs. There is a key, which you
can use to look up a value.
Documentation: Documentation is
the whole process of writing or generating clear explanations of your project
and your code and making them accessible to future programmers.
Escape Sequence: Escape sequences
are special character combinations that produce special characters inside
strings. Escape sequences are usually composed of a backslash character
followed by another character. The interpreter sees an escape sequence and
replaces it with the appropriate special character.
Exception: An exception is
an error that can be anticipated and possibly handled by a program.
Expression: An expression is
any code that ultimately has a single value.
Evaluation: Evaluation is the
act of reducing an expression to a single value.
File Handle: A file handle is
an object that lets the program interact with a file. The file handle is
provided by the operator system. The program does not generally know where the
file lives on the hard drive; it simply uses the file handle to read or write
data.
Function: Functions are
little programs inside larger programs. They are usually written to do specific
tasks. Functions may be called (or invoked) to do these tasks.
Guard: A guard is a
boolean condition which must be True in order for a section of code to continue
running. The boolean condition for a while loop is sometimes called the loop
guard.
HTML: HTML, or
HyperText Markup Language, is the basic language of the world wide web.
Programmers write it (or more often write programs to write it). Servers send
it to clients. Clients (web browsers, crawlers, and others) read it. Web
browsers interpret it, rendering human readable web pages to users.
If Statement: The if Statement
is a command that checks a condition, and either does one thing, or another,
depending on the answer. Think of the if
statement like a branch in a river. Your program reaches the river branch, and
either goes left or right.
Immutable: An immutable
object does not change throughout the life of a program. Lists are mutable and
can be changed. Tuples are immutable; a program cannot change the contents of a
tuple.
Instantiation: Creating an
object from a class blueprint is called instantiation. If there is a class that
is the blueprint for an airplane, and we use it to create seventeen airplanes,
we are instantiating seventeen airplanes from the class definition.
Iteration: Working through a
collection element by element is called iterating. A for loop iterates over a
collection, running a block of code once for each element of the collection. It
is also acceptable to say that a loop loops or walks over a collection.
Iterator: An iterator is a
mechanism to loop, or iterate, over a collection.
Keywords: Keywords are
special words in the Python language. They can't be used as variable names,
they do not have types, and they can't be given to other commands (like the
type command). They are just fundamental building blocks of the language.
Library: A library is a
tool or set of tools for a language, available as a self-contained package.
List: A list in Python
is a collection of different things, in order. The items in the list are called
list elements, or just elements.
List Comprehension: In Python, list
comprehensions are short sentences that take old lists and make new sublists.
Machine
Instructions:
Machine instructions are instructions for computer hardware. In most cases,
they directly instruct the computer's central processing unit, or CPU, to do
things.
Method: A method is a
function that is associated with an object (a piece of data, such as a string).
The method is called on the object, and is assumed to automatically have access
to the object.
Module: A module is
Python's technology for implementing a library. A module is a collection of
Python code, grouped together in a single place, for the purpose of being
imported into other programs.
Mutable: A mutable object
is one that can change throughout the life of a program. Lists are mutable and
can be changed. Tuples are immutable; a program cannot change the contents of a
tuple.
Nesting: Putting a block
of code (like an if statement) inside another block of code is called nesting.
An if statement inside another if statement is called a nested if statement.
Object: An object is a
particular instance of a class. The class is the blueprint, and the objects are
specific implementations.
Off By One Error: An off by one
error is an error caused by one of the numbers in a calculation being 1 more or
1 less than it should be. This is especially common with string and list
indexes, and with loops.
Operator: An operator is
something that combines two items of the same type. Addition is an operator on
the integers. The plus sign in 3 + 5 allows you to combine the integers 3 and
5.
Operator
Overloading:
When a symbol is used as an operator for two different types, it is overloaded. Operator overloading is the act of using a symbol to do different
operations on different types of data.
Override: In the context of
classes, overriding a method means replacing one of the parent's methods with a
new version in the child class.
Parameter: The pieces of
information you give (or pass) to a function are called parameters. The pieces
of information the function gives you back are called return values. A function
returns things to you, meaning it gives you back information. Parameters can be
optional or required. If they are required, the function will not work without
them.
Parameterization: Parameterization
is the act of turning several similar functions with specific values into one
function with an extra parameter.
Pseudocode: Pseudocode is
code that isn't runnable, but is instead used to express the precise logic of a
program to other humans.
Pseudo Random
Number:
A pseudo random number is a number which is generated according to a pattern
but which has the appearance of having been generated randomly.
Python: Python is a
language (like English, with a vocabulary and grammar rules) to write
instructions for computers. It is also an interpreter program that reads those
instructions and executes them.
Query: A query is the string
that the user gives the search engine. The query is the thing the user wants
found. Each individual word of the query is called a term.
Ranking: Ranking is the
act of sorting those pages and choosing the "best" one for the user's
query. Ranking is something of an art, in the sense that different people might
disagree about what is the "best" result. Ranking is also a science,
in the sense that it can be studied and improved by evidence.
Ranking Algorithm: A ranking
algorithm is a program to assign a score to a web page (or document) for a
particular search term.
Refactoring: Refactoring is
the act of rewriting code, usually to be more readable and better organized, or
to be shorter. Refactoring does not change the behavior of the code (the same
inputs typically still lead to the same outputs). It changes the internal
structure.
Regular Expressions: Regular
expressions are a special language for pattern matching strings.
Retrieval: Retrieval is the
act of looking through the index and finding all the pages that match a query.
Scope: Variables are not
always available in all parts a program. The scope of a variable refers to the
places where that variable is available for use. Variables defined in different
places may have different scopes where they can be used. When an ambiguity is
encountered, Python has well defined rules to resolve (or decide) which scope
takes precedence, and thus, which variable (for instance, the list fruit or the
parameter fruit) to use.
Search Index: A search index is
a collection of web page data, stored long term. The search index is the
content that a search engine knows and retrieves for users.
Static: In a class,
variables and methods that do not depend on particular objects are called
static. These are shared across all objects created with the class blueprint.
String: A string is text that is placed
between quotes to let Python know that it is not part of the code. String is
the data type for text.
Tag: In the HTML
language (one of the languages of web pages), information is organized by tags.
A tag is like a pair of brackets,
enclosing a piece of information, and telling web browsers what type of
information it is.
Terminal: A terminal (also known as a console,
or the command line interface) is a text-based program where users can input
text, and other programs can output text.
Test: A test is some
code that runs other code, and checks to see if it has a particular result.
Test Driven
Development:
Test driven development is the act of writing tests first, to clearly define
some expected outcomes, and then writing code to pass those tests.
Types: A type system is
a way of classifying things in a programming language. Types are the different
categories in this system. For example, a type system for food might be: fruits,
vegetables, meat, dairy, and grains. Each of these is a type.
URL: URL stands for
Uniform Resource Locator. URLs are strings that locate things, usually on the
Internet.
User Agent String: A user agent
string is a string you can use to identify yourself to other web sites, like a
name. It is typically something related to the company or project the program
is a part of.
Variables: Variables let you
give names to your numbers, strings, and other data, and work with these names
instead of repeatedly using the data itself.
Web Browser: A web browser is
a program that downloads html code (and other web code) and uses it to render
human usable web pages.
Web Crawler: A web crawler is
a program that reads web pages and saves information about them for later use.
A web crawler finds the links in web pages, and uses these to find more web
pages to crawl. Typically a web crawler is started with a set of seed URLs, and
follows a trail from these to a much larger set of web pages.
Whitespace: Whitespace is the empty space around code. Some programming languages are whitespace agnostic, meaning they are not concerned whether the whitespace is arranged in a particular way. Python requires certain forms of whitespace (such as indentation for blocks) to be formatted in specific ways.