Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Dancing with Python
Dancing with Python

Dancing with Python: Learn to code with Python and Quantum Computing

eBook
$39.99
Paperback
$48.99
Subscription
Free Trial
Renews at $12.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Dancing with Python

Doing the Things That Coders Do

Talk is cheap. Show me the code.

—Linus Torvalds

There is not just one way to code, and there is not only one programming language in which to do it. A recent survey by the analyst firm RedMonk listed the top one hundred languages in widespread use in 2021. [PLR]

Nevertheless, there are common ideas about processing and computing with information across programming languages, even if their expressions and implementations vary. In this chapter, I introduce those ideas and data structures. I don’t focus on how we write everything in any particular language but instead discuss the concepts. I do include some examples from other languages to show you the variation of expression.

1.1 Data

If you think of all the digital data and information stored in the cloud, on the web, on your phone, on your laptop, in hard and solid-state drives, and in every computer transaction, consideration comes down to just two things: 0 and 1.

These are bits, and with bits we can represent everything else in what we call “classical computers.” These systems date back to ideas from the 1940s. There is an additional concept for quantum computers, that of a qubit or “quantum bit.” The qubit extends the bit and is manipulated in quantum circuits and gates. Before we get to qubits, however, let’s consider the bit more closely.

First, we can interpret 0 as false and 1 as true. Thinking in terms of data, what would you say if I asked you the question, “Do you like Punk Rock?” We can store your response as 0 or 1 and then use it in further processing, such...

1.2 Expressions

An expression is a written combination of data with operations to perform on that data. That sounds quite formal, so imagine a mathematical formula like:

15 × 62 + 3 × 6 – 4 .

This expression contains six pieces of data: 15, 6, 2, 3, 6, and 4. There are five operations: multiplication, exponentiation, addition, multiplication, and subtraction. If I rewrite this using symbols often used in programming languages, it is:

15 * 6**2 + 3 * 6 - 4

See that repeated 6? Suppose I want to consider different numbers in its place. I can write the formula:

15 × x2 + 3 × x – 4

and the corresponding code expression:

15 * x**2 + 3 * x - 4

If I give x the value 6, I get the original expression. If I give it the value 11, I calculate:

15 * 11**2 + 3 * 11 - 4

We call x a variable and the process of giving it a value assignment. The expression...

1.3 Functions

The notion of “expression” includes functions and all that goes into writing and using them. The syntax of their definition varies significantly among programming languages, unlike simple arithmetic expressions. In words, I can say

The function maximum(x, y) returns x
if it is larger than y. Otherwise, it returns y.

Let’s consider this informal definition.

  • It has a descriptive name: maximum.
  • There are two variables within parentheses: x and y. These are the parameters of the function.
  • A function may have zero, one, two, or more parameters. To remain readable, it shouldn’t have too many.
  • When we employ the function as in maximum(3, -2) to get the larger value, we call the function maximum on the arguments 3 and -2.
  • To repeat: x and y are parameters, and 3 and -2 are arguments. However, it’s not unusual...

1.4 Libraries

While many books are now digital and available online, physical libraries are often still present in towns and cities. You can use a library to avoid doing something yourself, namely, buying a book. You can borrow it and read it. If it is a cookbook, you can use the recipes to make food.

A similar idea exists for programming languages and their environments. I can package together reusable data and functions, and then place them in a library. Via download or other sharing, coders can use my library to save themselves time. For example, if I built a library for math, it could contain functions like maximum, minimum, absolute_value, and is_prime. It could also include approximations to special values like π.

Once you have access to a library by installing it on your system, you need to tell your programming environment that you want to take advantage of it. Languages use...

1.5 Collections

Returning to the book analogy we started when discussing libraries, imagine that you own the seven volumes in the Chronicles of Narnia series by C. S. Lewis.

  • The Lion, the Witch and the Wardrobe
  • Prince Caspian: The Return to Narnia
  • The Voyage of the Dawn Treader
  • The Silver Chair
  • The Horse and His Boy
  • The Magician’s Nephew
  • The Last Battle

The order I listed them is the order in which Lewis published the volumes from 1950 through 1956. In the list, the first book is the first published, the second is the second published, and so on. Had someone been maintaining the list in the 1950s, they would have appended a new title when Lewis released a new book in the series.

A programming language needs a structure like this so that you can store and insert objects as above. It...

1.6 Conditional processing

When you write code, you create instructions for a computer that state what steps the computer must take to accomplish some task. In that sense, you are specifying a recipe. Depending on some conditions, like if a bank balance is positive or a car’s speed exceeds a stated limit, the sequence of steps may vary. We call how your code moves from one step to another its flow.

Let’s make some bread to show where a basic recipe has points where we should make choices.

Photo of two loaves of bread
Figure 1.1: Loaves of bread. Photo by the author.

Ingredients

  • 1 ½ tablespoons sugar
  • ¾ cup warm water (slightly warmer than body temperature)
  • 2 ¼ teaspoons active dry yeast (1 package)
  • 1 teaspoon salt
  • ½ cup milk
  • 1 tablespoon unsalted butter
  • 2 cups all-purpose flour

Straight-through...

1.7 Loops

If I ask you to close your eyes, count to 10, then open them, the steps look like this:

  1. Close your eyes
  2. Set count to 1
  3. While count is not equal 10, increment count by 1
  4. Open your eyes

Steps 2 and 3 together constitute a loop. In this loop, we repeatedly do something while a condition is met. We do not move to step 4 from step 3 while the test returns true.

A while-loop flowchart
Figure 1.3: A while-loop flowchart

Compare the simplicity of Figure 1.3 to

  1. Close your eyes
  2. Set count to 1
  3. Increment count to 2
  4. Increment count to 3
  5. Increment count to 10
  6. Open your eyes

If that doesn’t convince you, imagine if I asked you to count to 200. Here is how we do it in C++:

int n = 1;

while( n < 201 ) {
    n++;
}

Exercise 1.6

Create a similar...

1.8 Exceptions

In many science fiction stories, novels, movies, and television series, characters use “teleportation” to move people and objects from one place to another. For example, the protagonist could teleport from Toronto to Tokyo instantly, without going through the time-consuming hassle of air flight.

It is also used in such plots to allow characters to escape from dangerous and unexpected conditions. Perhaps a monster might have the team cornered in the back of a cave, and there is no way to fight their way to safety. A hurried call by the leader on a communications device might demand “get us out of here!” or “beam us up now!” The STAR TREK® series and movies often featured the latter exclamation.

So, characters use teleportation for regular transportation, but also for exceptional situations that are usually life-threatening. Many programming languages...

1.9 Records

Consider this one-sentence paragraph with some text formatted in bold and italics:

Some words are bold, some are italic, and some are both.

How could you represent this as data in a word processor, spreadsheet, or presentation application?

Let’s begin with the text itself for the paragraph. Maybe we just use a string.

"Some words are bold, some are italic, and some are both."

The words are there, but we lost the formatting. Let’s break the sentence into a list of the formatted and unformatted parts. I use square brackets “[ ]” around the list and commas to separate the parts.

[ "Some words are ",
  "bold",
  ",some are ",
  "italic",
  ", and some are ",
  "both",
  "." ]

Now we can focus on how to embellish each part with formatting. There are four options:

  1. the text...

1.10 Objects and classes

Let’s return to cooking. I recently ran out of bay leaves in our kitchen. Bay leaves are used to flavor many foods, most notably soups, stews, and other braised meat dishes. Okay, I thought, I’ll just order some bay leaves online. I found four varieties:

  • Turkish or Mediterranean bay leaves, from the Bay Laurel tree,
  • Indian bay leaves,
  • California bay leaves, and
  • Caribbean bay leaves.

I eventually discovered that what I wanted was Turkish bay leaves. I ordered six ounces. When they arrived, I realized that I had enough to last the rest of my life.

Let’s get back to the varieties. While numbers and strings are built into most programming languages, bay leaves most certainly are not. Nevertheless, I want to create a structure to represent bay leaves in a first-class way. Perhaps I’m building up a collection of ingredient ...

1.11 Qubits

In the first section of this chapter, we looked at data. Starting with the bits 0 and 1, we built integers, and I indicated that we could also represent floating-point numbers. Let’s switch from the arithmetic and algebra of numbers to geometry.

A single point is 0-dimensional. Two points are just two 0-dimensional objects. Let’s label these points 0 and 1. When we draw an infinite line through the two points and consider all the points on the line, we get a 1-dimensional object. We can represent each such point as (x), or just x, where x is a real number. If we have another line drawn vertically and perpendicular to the first, we get a plane. A plane is 2-dimensional, and we can represent every point in it with coordinates (x, y). The point (0, 0) is the origin.

Points in 0, 1, and 2 dimensions
Figure 1.7: Points in 0, 1, and 2 dimensions

This is the...

1.12 Circuits

Consider the expression maximum(2, 1 + round(x)), where maximum is the function we saw earlier in this chapter, and round rounds a number to the nearest integer. For example, round(1.3) equals 1. Figure 1.10 shows how processing flows as we evaluate the expression.

A function application circuit
Figure 1.10: A function application circuit

To fix terminology, we can call this a function application circuit. When we draw it like this, we call maximum, round, and “+” functions, operations, or gates.

The maximum and “+” gates each take two inputs and have one output. The round gate has one input and one output. In general, round is not reversible: you cannot go from the output answer it produced to its input.

Going to their lowest level, classical computer processors manipulate bits using logic operators. These are also...

1.13 Summary

In my coding career, I have used dozens of programming languages and created several. [AXM] When I have a new problem to solve or am considering a new project, I research how languages have evolved and improved. For each language I investigate, I ask myself,

  • “can this language do what I have in mind?”,
  • “can this language do what I want better than the others?”, and
  • “what are the special features and idioms within the language that enable me to produce an elegant result?”.

This chapter introduced many of the ideas widely used today in languages for coding. It showed that you could think about features and functionality separately from what one specific language provides. In the next chapter, we get concrete and see how Python implements these and other concepts.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Create quantum circuits and algorithms using Qiskit and run them on quantum computing hardware and simulators
  • Learn the Pythonic way to write elegant and efficient code
  • Delve into Python's advanced features, including machine learning, analyzing data, and searching

Description

Dancing with Python helps you learn Python and quantum computing in a practical way. It will help you explore how to work with numbers, strings, collections, iterators, and files. The book goes beyond functions and classes and teaches you to use Python and Qiskit to create gates and circuits for classical and quantum computing. Learn how quantum extends traditional techniques using the Grover Search Algorithm and the code that implements it. Dive into some advanced and widely used applications of Python and revisit strings with more sophisticated tools, such as regular expressions and basic natural language processing (NLP). The final chapters introduce you to data analysis, visualizations, and supervised and unsupervised machine learning. By the end of the book, you will be proficient in programming the latest and most powerful quantum computers, the Pythonic way.

Who is this book for?

The book will help you get started with coding for Python and Quantum Computing. Basic familiarity with algebra, geometry, trigonometry, and logarithms is required as the book does not cover the detailed mathematics and theory of quantum computing. You can check out the author’s Dancing with Qubits book, also published by Packt, for an approachable and comprehensive introduction to quantum computing.

What you will learn

  • Explore different quantum gates and build quantum circuits with Qiskit and Python
  • Write succinct code the Pythonic way using magic methods, iterators, and generators
  • Analyze data, build basic machine learning models, and plot the results
  • Search for information using the quantum Grover Search Algorithm
  • Optimize and test your code to run efficiently

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 31, 2021
Length: 744 pages
Edition : 1st
Language : English
ISBN-13 : 9781801071628
Category :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Aug 31, 2021
Length: 744 pages
Edition : 1st
Language : English
ISBN-13 : 9781801071628
Category :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$12.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 6,500+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$129.99 billed annually
Feature tick icon Unlimited access to Packt's library of 6,500+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$179.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 6,500+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 193.97
Dancing with Python
$48.99
Dancing with Qubits
$94.99
Python Object-Oriented Programming
$49.99
Total $ 193.97 Stars icon
Visually different images

Table of Contents

21 Chapters
Chapter 1: Doing the Things That Coders Do Chevron down icon Chevron up icon
Part I: Getting to Know Python Chevron down icon Chevron up icon
Chapter 2: Working with Expressions Chevron down icon Chevron up icon
Chapter 3: Collecting Things Together Chevron down icon Chevron up icon
Chapter 4: Stringing You Along Chevron down icon Chevron up icon
Chapter 5: Computing and Calculating Chevron down icon Chevron up icon
Chapter 6: Defining and Using Functions Chevron down icon Chevron up icon
Chapter 7: Organizing Objects into Classes Chevron down icon Chevron up icon
Chapter 8: Working with Files Chevron down icon Chevron up icon
PART II: Algorithms and Circuits Chevron down icon Chevron up icon
Chapter 9: Understanding Gates and Circuits Chevron down icon Chevron up icon
Chapter 10: Optimizing and Testing Your Code Chevron down icon Chevron up icon
Chapter 11: Searching for the Quantum Improvement Chevron down icon Chevron up icon
PART III: Advanced Features and Libraries Chevron down icon Chevron up icon
Chapter 12: Searching and Changing Text Chevron down icon Chevron up icon
Chapter 13: Creating Plots and Charts Chevron down icon Chevron up icon
Chapter 14: Analyzing Data Chevron down icon Chevron up icon
Chapter 15: Learning, Briefly Chevron down icon Chevron up icon
References Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(7 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Ordmoj Sep 19, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
A few years ago I took upon myself to learn two new concepts in parallel, quantum computing with Qiskit, and Python as a new programming language. At the time I grabbed on to whatever education materials I could find and made reasonably quick progress. Fast forward a couple of years, and oh how nice it would have been to have had the author's two "Dancing with..." books, on Qubits and Python, at the time."Dancing with Python" would have kick-started me in the basic Python that would have helped me get up to speed with Qiskit much faster. It starts with the very basics and immediately places you on solid ground with the Python components such as expressions, functions, libraries and more. Pretty soon you are also introduced to the author's background in quantum computing, connecting Python and quantum by introducing Qubits and circuits.Apart from the author's quantum background, reading between the lines of the book provides potential additional insights into his personality. Mixing in 90's music, cats, guitars, and baseball throughout to demonstrate the features discussed in each chapter. Machine learning with cats and baseball, who would have thought?You see more of the quantum integrations throughout the book, especially in Part II which covers algorithms and circuits, but also in Part III about advanced features and libraries where he touches on quantum machine learning.But before that the author makes sure we know what we are doing, taking us past Part I that explains what Python really is, and introducing us to expressions, lists, tuples, dictionaries, and strings for managing our data. Then using this with computation and calculations, introducing functions, objects, methods, and variables, and finally file handling. Interwoven throughout the book are introductions to many common Python modules that are used to explain and demonstrate the features in each section, such as numpy, matplotlib, pandas, pytorch, qiskit, sklearn and more.After a relatively mellow start in Part I, things really take off with Part II about algorithms and circuits where Boolean operations and bit logic is covered together with quantum gates, leading up to quantum oracles and Grover's search algorithm. Part III opens the door to advanced features and libraries, by going through searching, plots and charts, analyzing data, and finally machine learning. These more advanced sections definitely require more work on your part to keep up but, in good Packt> tradition, the code and data samples used throughout the book are available for download, and are in fact really helpful.I certainly recommend this introductory book to anyone just getting started, and in combination with the author's "Dancing with Qubits" book, the combo will help get you up and running with quantum computing using Python-based Qiskit quickly.
Amazon Verified review Amazon
Christophe Pere Nov 01, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Hi,I was contacted by Packt to review the book Dancing With Python. I’m not linked with the editor, the review is mine.Review:The first part (~330 pages) is about python. It’s hard to compete on this part due to all the materials available on the market. Hundreds of books are published on python. Why this one is different? Clean, clear, precise, and visual.I like the way the author presents things with snippets and graphs.The first part covers all that is needed in scientific computation with python. You’ll also find some references with Dancing With Qubits the previous book of the author.I also appreciate that there are chapters on comments and documentation because, most of the time, both are the weak part of the development phase. It’s good to see this in a book.The second part has a focus on quantum computing but with a python way. You’ll find tons of information on how to use gates with Qiskit and python, also how to use real devices (IBM quantum).How about quantum algorithms? As previously, the author provides good descriptions of different algorithms and a good visual to understand how they worked.Surprisingly, the third part is the use of python to manipulate objects like: string manipulations (regular expressions, NLP etc…). Charts and plots. Analysis. and Machine Learning.Why is surprising? It’s because, for me, this breaks the flow. We study how to use python in classical way, the different core components and how to use them in a developer fashion. We then pass to Quantum computing to see how python is used with IBM quantum. And, we return to the classical way to study different functionalities. For me, part II and part III should have been reversed so that the information flow is more fluid.Global:It’s a very excellent book, Robert Sutor has a real gift for explaining things in a simple, precise way with fun and visual applications. Highly recommended for beginners.
Amazon Verified review Amazon
Dr Barry Henderson Oct 24, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This review is based only on a high level reading of the free Kindle material, but i will write a full review after i get a copy of this rather unique book, which will be soon! I like the approach the author has taken. Robert introduces complicated theories and principles using every day terms and scenarios, such as comparing cooking a meal to how a program works in easy to follow steps.The author first introduces the reader to all the main features of Python in a gradual, methodical way. Basis types and operations; File I/O; Object Oriented Classes and programming; functions; Exceptions; and the ubiquitous Python Libraries. There is also a chapter on Testing your code which bodes well for improving the quality of a design.The author then moves onto describing the basics of Quantum computing linking this to the QisKit Open Source Quantum toolkit. QisKit uses Python 3.6+ and can be run on Jupyter Notebooks. There is some basic theory on how this type of computing may be implemented and the results observed using Python (employing Pandas DataFrames and the Python plotting libraries). Later chapters briefly explain Natural Language processing, AI, ML.All in all this looks to be an interesting and comprehensive introduction to both Python programming and Quantum Computing.
Amazon Verified review Amazon
Trebor Oct 30, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
If you're interested in programming machine learning, big data, quantum computing or any project that requires large complex computations, then you will most likely need to develop your work using Python. This book is written for all developers, whether you are new to Python or have years of Python programming experience. Dr. Sutor provides an excellent learning path from beginner to advanced while providing great examples. So if you are a student learning Python as part of your course, a professor looking for a textbook, or a self-study individual looking to expand your experience, then this book is definitely one for your shelf! Particularly if your goal is to continue on to learn how to program on a quantum computer.
Amazon Verified review Amazon
venkatesh Nov 01, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I have picked up the book a few days ago for learning python for practicing quantum computing. The author has explained all the concepts clearly for anyone to understand and so far this book has exceeded my expectations.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.