Binding
Name binding is the association of an identifier with the program entity or value it denotes.
Get Programming: Learn to code with Python
An association between a name and the object to which that name refers.
- How it is used
- Uses binding to name objects for later calculations, input, and output.
- How deep it goes
- Defines binding through assignment examples, then traces rebinding through an immutable-object memory diagram.
- Examples
- Walks through `a = 1`, `b = 2`, `c = a + b`, reassignment, and a minutes-conversion program.
- What you can do after
- Build it from scratch: initialize descriptive variables, use them in calculations, and recognize when reassignment changes a name’s binding.
Read how Get Programming: Learn to code with Python explains binding →
Learn PowerShell in a Month of Lunches: Fourth Edition, Covers Windows, Linux, and macOS
A variable is a named storage location that holds a value or collection of values and can be assigned a new value.
- How it is used
- Stores command results, reusable values, collections, and changing script inputs for interactive administration and automation.
- How deep it goes
- Explains assignment, naming, quoting, collections, types, pipelines, cmdlets, and scope through runnable administrative examples.
- Examples
- Uses computer names, process identifiers, collections, quoted phrases, numeric input, background jobs, services, CSV, and CLIXML.
- What you can do after
- Apply variables to store, inspect, transform, type, export, and parameterize PowerShell data and commands.
The Well-Grounded Rubyist, Fourth Edition
A variable is a Ruby identifier that refers to changeable stored information.
- How it is used
- Uses variable bindings to explain how assignment, shared references, and reassignment affect objects.
- How deep it goes
- Works through mutation and reassignment, then explains captured local bindings for `eval`; notes immediate-value exceptions without detailing their internals.
- Examples
- Contrasts string replacement with string reassignment and uses a captured top-level binding to evaluate `puts str` inside a method.
- What you can do after
- Diagnose/debug with it when two variables reflect one mutation but diverge after reassignment.
Read how The Well-Grounded Rubyist, Fourth Edition explains binding →
The Quick Python Book, Fourth Edition
A binding is an association between an identifier and an object in a namespace.
- How it is used
- Uses bindings to explain assignment, object references, and how names are found during execution.
- How deep it goes
- Works through shared mutable objects, rebinding, namespace lookup, function locals, shadowing, and deletion without descending into interpreter internals.
- Examples
- Shows a shared list changing through one name, a string name rebound to an integer, and function-local bindings inspected with `locals()`.
- What you can do after
- Diagnose/debug with it when mutation affects several names, lookup selects an unexpected name, or deletion produces `NameError`.
Read how The Quick Python Book, Fourth Edition explains binding →
Modern C
A variable is a named C data object whose stored value can change during execution, including when its storage is local to a function invocation.
- How it is used
- Uses named data objects to track changing values through expressions, assignments, and function calls.
- How deep it goes
- Distinguishes identifier, object, type, and value; traces assignment and initialization, while deferring pointer-related exceptions.
- Examples
- Traces x changing from 5.0 to 4.5 and contrasts declarations of a function, an array, and a scalar variable.
- What you can do after
- Practice/perform value tracing through assignments and initialize variables before accessing them.
Learn Rust in a Month of Lunches
A variable is a named program binding that refers to a value and may permit reassignment according to its declaration.
- How it is used
- Defines named values and demonstrates how Rust programs declare, use, scope, mutate, and shadow them.
- How deep it goes
- Explains declaration, type inference, scope, block results, mutability, and shadowing, without descending into compiler or memory internals.
- Examples
- Uses named numbers, color strings, formatted println! output, nested blocks, returned block values, and scope errors.
- What you can do after
- Build it from scratch by declaring Rust bindings, using them in output, controlling mutability, and returning values from blocks.
Read how Learn Rust in a Month of Lunches explains binding →
Modern C, Third Edition
A variable is a named object whose stored value can be accessed and may change during program execution.
- How it is used
- Defines variables as named data objects that store values within C declarations and program statements.
- How deep it goes
- Distinguishes object, type, value, and identifier, but defers pointer details and fuller type semantics.
- Examples
- Uses argc, i, A, and argv declarations, plus assignment and increment operators in a small C program.
- What you can do after
- Understand variable declarations and distinguish a variable's name, object, type, and stored value.
Learn AI-Assisted Python Programming, Second Edition
- How it is used
- Uses variables to remember values, capture function results, store input, and support later expressions or output.
- How deep it goes
- Explains naming, assignment, reassignment, expressions, persistence, and augmented assignment, without descending into runtime internals.
- Examples
- Demonstrates storing function results, capturing a name from input, and updating age with ordinary and augmented assignments.
- What you can do after
- Builds simple Python statements that store, reuse, print, and update values during a program session.
Read how Learn AI-Assisted Python Programming, Second Edition explains binding →
The Art of Code
A variable is a named storage location or binding whose associated value can be read or changed during program execution.
- How it is used
- Uses variables to make narrative code readable by expressing roles, intent, scope, and transformations.
- How deep it goes
- Explains placement, scope, naming, role, and mutable-state risks, but stops short of runtime binding internals.
- Examples
- Uses promotional-email construction and a Java book-format switch to contrast focused variables with redundant or fragile state.
- What you can do after
- Apply variable naming, scope, and mutability choices that reduce cognitive load and clarify transformations.
Get Programming with JavaScript Next: New features of ECMAScript 2015, 2016, and beyond
A named program binding that refers to a value and may or may not be reassigned depending on its declaration form.
- How it is used
- Explains when JavaScript names can be reassigned and why `const` does not make referenced objects immutable.
- How deep it goes
- Works through reassignment, mutation, and block scope without detailing engine internals.
- Examples
- Uses a constant object whose properties change before reassignment fails, and an array that can be modified without rebinding.
- What you can do after
- Understand how reassignment differs from mutation when choosing between `const` and `let`.
Python How-To
- How it is used
- Uses variable assignment and inspection to support task processing, type hinting, and debugging.
- How deep it goes
- Explains initialization, reassignment, type hints, and local-value inspection, but not a general name-resolution model.
- Examples
- Uses reassignment from an integer to a string, task-variable initialization, and debugger inspection of local values.
- What you can do after
- Diagnose function state by inspecting individual variables or the local namespace in the debugger.
Related concepts
- immutable collectioncontrasts with · An immutable collection is a collection whose membership and contents cannot be changed after creation.
- objectkind of · A computational object is a runtime entity or structured value representing data, state, or a resource, with properties or operations defined by its programming model.
- assignmentequivalent to · Assignment is a programming-language operation that binds or stores an evaluated value in a variable, property, or other assignable location.
- global variableincludes · A global variable is a variable whose binding is accessible from broad program or module scope according to the language’s name-resolution rules.
- static fieldincludes · A named variable whose storage is associated with a class or has static duration, rather than being allocated separately for each object instance or function call.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.










