- What This Cheat Sheet Covers (and What It Doesn't)
- Exam Facts You Can Safely Memorize
- Domain 1: Data Types and Operators
- Domain 2: Decisions and Loops
- Domain 3: Input and Output
- Domain 4: Documentation and Structure
- Domain 5: Troubleshooting and Error Handling
- Domain 6: Modules and Tools
- Preparing for the Hands-On VS Code Tasks
- Sequencing Your Review by Domain
- Where the Credential Fits Professionally
- Frequently Asked Questions
- The Information Technology Specialist - Python exam is delivered through Pearson and organized into six unweighted objective domains.
- The Python Exam Update adds hands-on VS Code tasks between selected-response sections without changing the objective domains.
- Domain 1 covers type inference, slicing, operator precedence, and choosing identity versus containment operators correctly.
- Domain 5 combines error diagnosis, exception handling, and unittest assertions, so read tracebacks and write small tests.
What This Cheat Sheet Covers (and What It Doesn't)
This page is a one-page-style review of the Information Technology Specialist - Python certification (ITS-P), a Pearson-delivered exam that tests foundational Python programming skills. It is built directly from the official Python objective domains, so each section below maps to a published domain and its sub-objectives. If you want the long-form version of any area, the ITS-P exam domains guide goes deeper, and the ITS-P study guide lays out a full preparation path.
One note on scope: the official objectives are unweighted. That means no published percentage tells you how many questions come from each domain, so treat all six as fair game and avoid skipping an area because it looks small. The 2025 copyright on the objective document is not an exam-version label, and it does not signal a new subject scope.
Exam Facts You Can Safely Memorize
Before the Python content, here is what is and is not established about the exam itself. The reviewed official sources confirm the following, and anything beyond this table should be checked directly with Pearson before you rely on it.
| Item | What is confirmed |
|---|---|
| Governing body | Pearson (the objectives document is hosted on Pearson VUE) |
| Subject | Python programming fundamentals |
| Domains | Six, with unweighted objectives |
| Format update | English Next Generation includes hands-on Python tasks in VS Code between selected-response sections |
| Effect of the update | No change to objective domains or the resulting certificate |
| Fee, item count, duration, passing threshold, pass rate, renewal terms | Not established by the reviewed sources; confirm with Pearson |
Because the specifics of cost and scoring are not pinned down here, use the dedicated pages as starting points and then verify against Pearson: ITS-P certification cost, ITS-P passing score, ITS-P pass rate, and ITS-P exam dates. Do not budget your attempt around a number you found in a forum post.
Domain 1: Operations using Data Types and Operators
This is the densest domain for rote facts, and it rewards candidates who can predict output without running code.
1.1 Infer assigned types
Given an assignment, you should name the resulting type immediately.
3isint,3.0isfloat,"3"isstr,Trueisbool.[1, 2]is a list,(1, 2)is a tuple,{1, 2}is a set,{"a": 1}is a dict.(1)is just an int; a one-element tuple needs a trailing comma:(1,)./always returns a float;//floors and keeps int when both operands are ints.
1.2 Conversions, indexing, slicing, list manipulation
Expect questions that chain a conversion with a slice or a list method.
- Indexing starts at 0; negative indexes count from the end (
s[-1]is the last item). - Slices are
[start:stop:step]with stop exclusive;s[::-1]reverses. int("12")works,int("12.5")raisesValueError, whileint(12.9)truncates to 12.- Know the list methods that mutate in place and return
None:append,extend,insert,remove,sort,reverse. Assigning the result ofsort()to a variable gives youNone. pop()removes and returns an item;del lst[i]removes without returning.- Strings are immutable; lists are mutable. Assigning one list to another name copies the reference, not the contents.
1.3 Operator precedence
Memorize the rough order from tightest to loosest binding.
- Parentheses, then exponent
**(right-associative), then unary minus, then*///%, then+-. - Comparisons come next, then
not, thenand, thenor. -2 ** 2evaluates to-4because exponent binds tighter than unary minus.
1.4 Selecting the right operator
This sub-objective names five operator families, and questions often hinge on telling two of them apart.
- Assignment:
=,+=,-=, and friends. - Comparison:
==,!=,<,>,<=,>=. - Logical:
and,or,not, with short-circuit evaluation. - Identity:
is,is notcompare object identity, not value equality. Useis None, not== None. - Containment:
in,not intest membership in strings, lists, tuples, sets, and dict keys.
Domain 2: Flow Control with Decisions and Loops
2.1 Branching and compound conditions
- Structure is
if/elif/else; only the first true branch runs. - Nested conditions are decided by indentation, so a misplaced
elsechanges meaning, not just style. - Compound conditions combine comparisons with
and/or; rememberandbinds tighter thanor, so add parentheses when you need the other grouping. - Chained comparisons such as
1 < x < 10are valid Python. - Falsy values include
0,0.0,"",[],(),{},set(), andNone.
2.2 Iteration, loop controls, nested loops
foriterates over any iterable;range(stop),range(start, stop), andrange(start, stop, step)never include the stop value.whilerepeats while its condition is true; a condition that never changes produces an infinite loop.breakexits the nearest enclosing loop;continueskips to the next iteration.- The loop
elseclause runs only when the loop finishes without hittingbreak. - In nested loops, the inner loop completes fully for each pass of the outer loop. Trace a small example by hand: a 3-by-4 nested loop executes the inner body twelve times.
range and slicing account for a large share of wrong answers because candidates forget that stop is exclusive.Domain 3: Input and Output Operations
3.1 File input/output and existence/deletion
- Open files with
open(path, mode); modes include"r"(read),"w"(write, truncates),"a"(append), and a"b"suffix for binary. - Prefer the
withstatement so the file closes automatically even if an error occurs. - Reading options:
read()(whole file),readline()(one line),readlines()(list of lines), or iterating the file object directly. - Writing uses
write()for strings andwritelines()for an iterable of strings; neither adds newlines for you. - Checking existence and deleting are covered here too; the supporting tools live in
osandos.path(see Domain 6).
3.2 Console input, formatted output, command-line arguments
input()always returns a string, so convert withint()orfloat()before arithmetic.print()acceptssepandendkeyword arguments;end=""suppresses the trailing newline.- Know f-strings (
f"{name}: {score:.2f}"),str.format(), and the older%style well enough to read each. - Format specifiers to recognize:
.2ffor two decimals,>10for right-align in width 10,,for thousands separators. - Command-line arguments arrive via
sys.argv, where index 0 is the script name and the real arguments start at index 1. Every argument is a string.
Domain 4: Code Documentation and Structure
4.1 Indentation, comments, docstrings, pydoc
- Python uses indentation to define blocks; inconsistent indentation raises
IndentationError. - Comments begin with
#and run to the end of the line. - A docstring is a string literal placed as the first statement of a module, function, class, or method, and it is stored in
__doc__. pydocgenerates documentation from docstrings, which is why meaningful docstrings matter beyond style.
4.2 Function definitions, signatures, defaults, returns
- Define with
def name(params):. A function with noreturn(or a barereturn) returnsNone. - Default parameter values must come after non-default parameters in the signature.
- Arguments can be passed positionally or by keyword; mixing is allowed as long as positional ones come first.
- Never use a mutable object such as
[]as a default value; it is created once and shared across calls. - A function can return multiple values, which Python packages as a tuple.
- Variables assigned inside a function are local unless declared
global.
Domain 5: Troubleshooting and Error Handling
5.1 Identifying and fixing syntax, logic, and runtime errors
| Error type | When it appears | Typical example |
|---|---|---|
| Syntax | Before the program runs | Missing colon after if, unmatched parenthesis |
| Runtime | While the program runs | ZeroDivisionError, NameError, IndexError, TypeError |
| Logic | Program runs but gives wrong results | Using < where <= was intended |
Logic errors are the hardest to spot because nothing crashes. The reliable technique is to compare actual output to expected output on a tiny input and walk the code line by line.
5.2 Exception handling
- Structure:
try/except/else/finally. elseruns only if no exception occurred;finallyruns no matter what.- Catch specific exceptions (
except ValueError:) rather than a bareexcept:, and order handlers from most specific to most general. raisetriggers an exception deliberately;except ValueError as e:captures the exception object.- Common pairings to recognize:
int("abc")raisesValueError, a missing file raisesFileNotFoundError, a bad dictionary key raisesKeyError.
5.3 unittest and assertions
- Test classes inherit from
unittest.TestCase, and test methods must start withtest. - Know the core assertion methods:
assertEqual,assertNotEqual,assertTrue,assertFalse,assertIn, andassertRaises. setUp()runs before each test method andtearDown()runs after.- The plain
assertstatement raisesAssertionErrorwhen its condition is false.
Key Takeaway
For Domain 5, practice reading a traceback from the bottom up: the last line names the exception type and message, and the lines above it show the call path. Being able to name the error class from a code snippet is worth more than memorizing a long list of exceptions.
Domain 6: Operations using Modules and Tools
6.1 io, os, os.path, and sys
import module,from module import name, andimport module as aliasare the import forms to recognize.os: working with the filesystem, including listing directories, removing files, and reading the current directory.os.path:exists(),isfile(),isdir(),join(),basename(),dirname(),splitext(). Usejoin()instead of hand-built path strings.sys:argvfor command-line arguments andexit()to terminate with a status code.io: in-memory text and byte streams such asStringIO, useful for testing output-handling code.
6.2 math, datetime, random
math:sqrt,floor,ceil,pow,pi. Note thatmath.floor(-2.5)is-3, not-2.datetime: buildingdateanddatetimeobjects, subtracting them to get atimedelta, and formatting withstrftime.random:random()returns a float in [0.0, 1.0);randint(a, b)includes both endpoints;choice()picks from a sequence;shuffle()reorders a list in place.
Preparing for the Hands-On VS Code Tasks
The official Python Exam Update states that the English Next Generation version places hands-on Python tasks in VS Code between selected-response sections. It also states that this does not change the objective domains or the resulting certificate. In practical terms, the subject matter you study is the same, but you need to be able to write and run code in an editor rather than only recognize correct snippets.
- Practice in VS Code itself so the interface is familiar: creating a file, running a script, reading the terminal output.
- Rehearse short, self-contained tasks drawn from the domains above: read a file and count lines, validate input with
try/except, write a function with a default argument, or write twounittestassertions. - Get comfortable fixing broken code, since Domain 5 skills (reading an error, locating the line, correcting it) transfer directly to a hands-on task.
For a sense of how demanding this mix is, see how hard the ITS-P exam is. To rehearse the selected-response side, the ITS-P practice tests give you timed question practice across all six domains.
Sequencing Your Review by Domain
Since the domains build on one another, the order matters more than the calendar. Here is one logical sequence tied to dependencies between topics.
Domain 1 first
- Types, slicing, and operators underpin everything else, so lock these in before moving on.
- Drill precedence and identity-versus-equality until predictions are automatic.
Domains 2 and 4
- Loops and branching depend on Domain 1 operators; functions then package that logic.
- Write functions with defaults and returns, and add docstrings as you go.
Domains 3 and 6
- File handling and
os/os.path/sysnaturally pair together. - Add
math,datetime, andrandommini-problems.
Domain 5 and full review
- Error handling and
unittestwork best once you have code to break and test. - Finish with mixed practice and hands-on VS Code drills.
The ITS-P requirements page covers whether any prerequisites apply, and the study guide expands this sequence into a fuller plan.
Where the Credential Fits Professionally
The Information Technology Specialist - Python credential is an entry-level, foundational certification. It signals that you can read and write basic Python, handle files and errors, and test your own code. That makes it most useful for students, career changers, and early-career candidates who need a verifiable credential alongside coursework or a portfolio, rather than as a substitute for project experience.
Hiring value varies by employer and role, and no earnings figures are established in the sources reviewed for this page, so treat any specific salary claim with caution. For a qualitative look at the career angle, see ITS-P jobs, the salary guide, and whether the certification is worth it. If you are new to the name itself, what ITS-P is explains the basics.
Frequently Asked Questions
The official Python objectives are unweighted, so no published percentage tells you how many questions each domain contributes. Prepare for all six rather than concentrating on one or two.
No. The Python Exam Update says the English Next Generation version adds hands-on Python tasks in VS Code between selected-response sections, without changing the objective domains or the resulting certificate. The 2025 copyright date on the objectives document is not an exam-version designation.
The reviewed official sources do not establish an item count, duration, or passing threshold, so none is stated here. Confirm current details with Pearson before scheduling, and see the passing score page for how to approach this.
Start with Domain 1, Operations using Data Types and Operators, because types, slicing, and operator selection support every other domain. Domain 5 is a good one to save for last, since it is easiest to practice once you have working code to debug and test.
Practice writing. Because the English Next Generation version includes hands-on tasks in VS Code, you should be able to produce and run short programs, not only recognize correct answers. Pair that with timed selected-response practice from the main practice test site.