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
Explore 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
Numpy Beginner's Guide (Update)
Numpy Beginner's Guide (Update)

Numpy Beginner's Guide (Update): Build efficient, high-speed programs using the high-performance NumPy mathematical library

eBook
€26.98 €29.99
Paperback
€36.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
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
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

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

Numpy Beginner's Guide (Update)

Chapter 1. NumPy Quick Start

Let's get started. We will install NumPy and related software on different operating systems and have a look at some simple code that uses NumPy. This chapter briefly introduces the IPython interactive shell. SciPy is closely related to NumPy, so you will see the SciPy name appearing here and there. At the end of this chapter, you will find pointers on how to find additional information online if you get stuck or are uncertain about the best way to solve problems.

In this chapter, you will cover the following topics:

  • Install Python, SciPy, matplotlib, IPython, and NumPy on Windows, Linux, and Macintosh
  • Do a short refresher of Python
  • Write simple NumPy code
  • Get to know IPython
  • Browse online documentation and resources

Python

NumPy is based on Python, so you need to have Python installed. On some operating systems, Python is already installed. However, you need to check whether the Python version corresponds with the NumPy version you want to install. There are many implementations of Python, including commercial implementations and distributions. In this book, we focus on the standard CPython implementation, which is guaranteed to be compatible with NumPy.

Time for action – installing Python on different operating systems

NumPy has binary installers for Windows, various Linux distributions, and Mac OS X at http://sourceforge.net/projects/numpy/files/. There is also a source distribution, if you prefer that. You need to have Python 2.4.x or above installed on your system. We will go through the various steps required to install Python on the following operating systems:

  • Debian and Ubuntu: Python might already be installed on Debian and Ubuntu, but the development headers are usually not. On Debian and Ubuntu, install the python and python-dev packages with the following commands:
    $ [sudo] apt-get install python
    $ [sudo] apt-get install python-dev
    
  • Windows: The Windows Python installer is available at https://www.python.org/downloads/. On this website, we can also find installers for Mac OS X and source archives for Linux, UNIX, and Mac OS X.
  • Mac: Python comes preinstalled on Mac OS X. We can also get Python through MacPorts, Fink, Homebrew, or similar projects.

    Install, for instance, the Python 2.7 port by running the following command:

    $ [sudo] port install python27
    

    Linear Algebra PACKage (LAPACK) does not need to be present but, if it is, NumPy will detect it and use it during the installation phase. It is recommended that you install LAPACK for serious numerical analysis as it has useful numerical linear algebra functionality.

What just happened?

We installed Python on Debian, Ubuntu, Windows, and the Mac OS X.

Note

You can download the example code files for all the Packt books you have purchased from your account at https://www.packtpub.com/. If you purchased this book elsewhere, you can visit https://www.packtpub.com/books/content/support and register to have the files e-mailed directly to you.

The Python help system

Before we start the NumPy introduction, let's take a brief tour of the Python help system, in case you have forgotten how it works or are not very familiar with it. The Python help system allows you to look up documentation from the interactive Python shell. A shell is an interactive program, which accepts commands and executes them for you.

Time for action – using the Python help system

Depending on your operating system, you can access the Python shell with special applications, usually a terminal of some sort.

  1. In such a terminal, type the following command to start a Python shell:
    $ python
    
  2. You will get a short message with the Python version and other information and the following prompt:
    >>>
    

    Type the following in the prompt:

    >>> help()
    

    Another message appears and the prompt changes as follows:

    help>
    
  3. If you type, for instance, keywords as the message says, you get a list of keywords. The topics command gives a list of topics. If you type any of the topic names (such as LISTS) in the prompt, you get additional information about the topic. Typing q quits the information screen. Pressing Ctrl + D together returns you to the normal Python prompt:
    >>>
    

    Pressing Ctrl + D together again ends the Python shell session.

What just happened?

We learned about the Python interactive shell and the Python help system.

Basic arithmetic and variable assignment

In the Time for action – using the Python help system section, we used the Python shell to look up documentation. We can also use Python as a calculator. By the way, this is just a refresher, so if you are completely new to Python, I recommend taking some time to learn the basics. If you put your mind to it, learning basic Python should not take you more than a couple of weeks.

Time for action – using Python as a calculator

We can use Python as a calculator as follows:

  1. In a Python shell, add 2 and 2 as follows:
    >>> 2 + 2
    4
    
  2. Multiply 2 and 2 as follows:
    >>> 2 * 2
    4
    
  3. Divide 2 and 2 as follows:
    >>> 2/2
    1
    
  4. If you have programmed before, you probably know that dividing is a bit tricky since there are different types of dividing. For a calculator, the result is usually adequate, but the following division may not be what you were expecting:
    >>> 3/2
    1
    

    We will discuss what this result is about in several later chapters of this book. Take the cube of 2 as follows:

    >>> 2 ** 3
    8
    

What just happened?

We used the Python shell as a calculator and performed addition, multiplication, division, and exponentiation.

Time for action – assigning values to variables

Assigning values to variables in Python works in a similar way to most programming languages.

  1. For instance, assign the value of 2 to a variable named var as follows:
    >>> var = 2
    >>> var
    2
    
  2. We defined the variable and assigned it a value. In this Python code, the type of the variable is not fixed. We can make the variable in to a list, which is a built-in Python type corresponding to an ordered sequence of values. Assign a list to var as follows:
    >>> var = [2, 'spam', 'eggs']
    >>> var
    [2, 'spam', 'eggs']
    

    We can assign a new value to a list item using its index number (counting starts from 0). Assign a new value to the first list element:

    >>> var
    ['ham', 'spam', 'eggs']
    
  3. We can also swap values easily. Define two variables and swap their values:
    >>> a = 1
    >>> b = 2
    >>> a, b = b, a
    >>> a
    2
    >>> b
    1
    

What just happened?

We assigned values to variables and Python list items. This section is by no means exhaustive; therefore, if you are struggling, please read Appendix B, Additional Online Resources, to find recommended Python tutorials.

The print() function

If you haven't programmed in Python for a while or are a Python novice, you may be confused about the Python 2 versus Python 3 discussions. In a nutshell, the latest version Python 3 is not backward compatible with the older Python 2 because the Python development team felt that some issues were fundamental and therefore warranted a radical change. The Python team has committed to maintain Python 2 until 2020. This may be problematic for the people who still depend on Python 2 in some way. The consequence for the print() function is that we have two types of syntax.

Time for action – printing with the print() function

We can print using the print() function as follows:

  1. The old syntax is as follows:
    >>> print 'Hello'
    Hello
    
  2. The new Python 3 syntax is as follows:
    >>> print('Hello')
    Hello
    

    The parentheses are now mandatory in Python 3. In this book, I try to use the new syntax as much as possible; however, I use Python 2 to be on the safe side. To enforce the syntax, each Python 2 script with print() calls in this book starts with:

    >>> from __future__ import print_function
    
  3. Try to use the old syntax to get the following error message:
    >>> print 'Hello'
      File "<stdin>", line 1
        print 'Hello'
                    ^
    SyntaxError: invalid syntax
    
  4. To print a newline, use the following syntax:
    >>> print()
    
  5. To print multiple items, separate them with commas:
    >>> print(2, 'ham', 'egg')
    2 ham egg
    
  6. By default, Python separates the printed values with spaces and prints output to the screen. You can customize these settings. Read more about this function by typing the following command:
    >>> help(print)
    

    You can exit again by typing q.

What just happened?

We learned about the print() function and its relation to Python 2 and Python 3.

Code comments

Commenting code is a best practice with the goal of making code clearer for yourself and other coders (see https://google-styleguide.googlecode.com/svn/trunk/pyguide.html?showone=Comments#Comments). Usually, companies and other organizations have policies regarding code comment such as comment templates. In this book, I did not comment the code in such a fashion for brevity and because the text in the book should clarify the code.

Time for action – commenting code

The most basic comment starts with a hash sign and continues until the end of the line:

  1. Comment code with this type of comment as follows:
    >>> # Comment from hash to end of line
    
  2. However, if the hash sign is between single or double quotes, then we have a string, which is an ordered sequence of characters:
    >>> astring = '# This is not a comment'
    >>> astring
    '# This is not a comment'
    
  3. We can also comment multiple lines as a block. This is useful if you want to write a more detailed description of the code. Comment multiple lines as follows:
    """
     Chapter 1 of NumPy Beginners Guide.
     Another line of comment.
    """
    

    We refer to this type of comment as triple-quoted for obvious reasons. It also is used to test code. You can read about testing in Chapter 8, Assuring Quality with Testing.

The if statement

The if statement in Python has a bit different syntax to other languages, such as C++ and Java. The most important difference is that indentation matters, which I hope you are aware of.

Time for action – deciding with the if statement

We can use the if statement in the following ways:

  1. Check whether a number is negative as follows:
    >>> if 42 < 0:
    ...     print('Negative')
    ... else:
    ...     print('Not negative')
    ...
    Not negative
    

    In the preceding example, Python decided that 42 is not negative. The else clause is optional. The comparison operators are equivalent to the ones in C++, Java, and similar languages.

  2. Python also has a chained branching logic compound statement for multiple tests similar to the switch statement in C++, Java, and other programming languages. Decide whether a number is negative, 0, or positive as follows:
    >>> a = -42
    >>> if a < 0:
    ...     print('Negative')
    ... elif a == 0:
    ...     print('Zero')
    ... else:
    ...     print('Positive')
    ...
    Negative
    

    This time, Python decided that 42 is negative.

What just happened?

We learned how to do branching logic in Python.

The for loop

Python has a for statement with the same purpose as the equivalent construct in C++, Pascal, Java, and other languages. However, the mechanism of looping is a bit different.

Time for action – repeating instructions with loops

We can use the for loop in the following ways:

  1. Loop over an ordered sequence, such as a list, and print each item as follows:
    >>> food = ['ham', 'egg', 'spam']
    >>> for snack in food:
    ...     print(snack)
    ...
    ham
    egg
    spam
    
  2. And remember that, as always, indentation matters in Python. We loop over a range of values with the built-in range() or xrange() functions. The latter function is slightly more efficient in certain cases. Loop over the numbers 1-9 with a step of 2 as follows:
    >>> for i in range(1, 9, 2):
    ...     print(i)
    ...
    1
    3
    5
    7
    
  3. The start and step parameter of the range() function are optional with default values of 1. We can also prematurely end a loop. Loop over the numbers 0-9 and break out of the loop when you reach 3:
    >>> for i in range(9):
    ...     print(i)
    ...     if i == 3:
    ...     print('Three')
    ...     break
    ...
    0
    1
    2
    3
    Three
    
  4. The loop stopped at 3 and we did not print the higher numbers. Instead of leaving the loop, we can also get out of the current iteration. Print the numbers 0-4, skipping 3 as follows:
    >>> for i in range(5):
    ...     if i == 3:
    ...             print('Three')
    ...             continue
    ...     print(i)
    ...
    0
    1
    2
    Three
    4
    
  5. The last line in the loop was not executed when we reached 3 because of the continue statement. In Python, the for loop can have an else statement attached to it. Add an else clause as follows:
    >>> for i in range(5):
    ...     print(i)
    ... else:
    ...     print(i, 'in else clause')
    ...
    0
    1
    2
    3
    4
    (4, 'in else clause')
    
  6. Python executes the code in the else clause last. Python also has a while loop. I do not use it that much because the for loop is more useful in my opinion.

What just happened?

We learned how to repeat instructions in Python with loops. This section included the break and continue statements, which exit and continue looping.

Python functions

Functions are callable blocks of code. We call functions by the name we give them.

Time for action – defining functions

Let's define the following simple function:

  1. Print Hello and a given name in the following way:
    >>> def print_hello(name):
    ...     print('Hello ' + name)
    ...
    

    Call the function as follows:

    >>> print_hello('Ivan')
    Hello Ivan
    
  2. Some functions do not have arguments, or the arguments have default values. Give the function a default argument value as follows:
    >>> def print_hello(name='Ivan'):
    ...     print('Hello ' + name)
    ...
    >>> print_hello()
    Hello Ivan
    
  3. Usually, we want to return a value. Define a function, which doubles input values as follows:
    >>> def double(number):
    ...     return 2 * number
    ...
    >>> double(3)
    6
    

What just happened?

We learned how to define functions. Functions can have default argument values and return values.

Python modules

A file containing Python code is called a module. A module can import other modules, functions in other modules, and other parts of modules. The filenames of Python modules end with .py. The name of the module is the same as the filename minus the .py suffix.

Time for action – importing modules

Importing modules can be done in the following manner:

  1. If the filename is, for instance, mymodule.py, import it as follows:
    >>> import mymodule
    
  2. The standard Python distribution has a math module. After importing it, list the functions and attributes in the module as follows:
    >>> import math
    >>> dir(math)
    ['__doc__', '__file__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
    
  3. Call the pow() function in the math module:
    >>> math.pow(2, 3)
    8.0
    

    Notice the dot in the syntax. We can also import a function directly and call it by its short name. Import and call the pow() function as follows:

    >>> from math import pow
    >>> pow(2, 3)
    8.0
    
  4. Python lets us define aliases for imported modules and functions. This is a good time to introduce the import conventions we are going to use for NumPy and a plotting library we will use a lot:
    import numpy as np
    import matplotlib.pyplot as plt

What just happened?

We learned about modules, importing modules, importing functions, calling functions in modules, and the import conventions of this book. This concludes the Python refresher.

NumPy on Windows

Installing NumPy on Windows is straightforward. You only need to download an installer, and a wizard will guide you through the installation steps.

Left arrow icon Right arrow icon

Description

This book is for the scientists, engineers, programmers, or analysts looking for a high-quality, open source mathematical library. Knowledge of Python is assumed. Also, some affinity, or at least interest, in mathematics and statistics is required. However, I have provided brief explanations and pointers to learning resources.

Who is this book for?

This book is for the scientists, engineers, programmers, or analysts looking for a high-quality, open source mathematical library. Knowledge of Python is assumed. Also, some affinity, or at least interest, in mathematics and statistics is required. However, I have provided brief explanations and pointers to learning resources.

What you will learn

  • Install NumPy, matplotlib, SciPy, and IPython on various operating systems
  • Use NumPy array objects to perform array operations
  • Familiarize yourself with commonly used NumPy functions
  • Use NumPy matrices for matrix algebra
  • Work with the NumPy modules to perform various algebraic operations
  • Test NumPy code with the numpy.testing module
  • Plot simple plots, subplots, histograms, and more with matplotlib
Estimated delivery fee Deliver to Norway

Standard delivery 10 - 13 business days

€11.95

Premium delivery 3 - 6 business days

€16.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jun 24, 2015
Length: 348 pages
Edition : 1st
Language : English
ISBN-13 : 9781785281969
Category :
Languages :
Concepts :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
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
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Norway

Standard delivery 10 - 13 business days

€11.95

Premium delivery 3 - 6 business days

€16.95
(Includes tracking information)

Product Details

Publication date : Jun 24, 2015
Length: 348 pages
Edition : 1st
Language : English
ISBN-13 : 9781785281969
Category :
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ 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
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ 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
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ 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 94.97
Mastering Matplotlib
€32.99
Numpy Beginner's Guide (Update)
€36.99
Learning SciPy for Numerical and Scientific Computing Second Edition
€24.99
Total 94.97 Stars icon

Table of Contents

15 Chapters
1. NumPy Quick Start Chevron down icon Chevron up icon
2. Beginning with NumPy Fundamentals Chevron down icon Chevron up icon
3. Getting Familiar with Commonly Used Functions Chevron down icon Chevron up icon
4. Convenience Functions for Your Convenience Chevron down icon Chevron up icon
5. Working with Matrices and ufuncs Chevron down icon Chevron up icon
6. Moving Further with NumPy Modules Chevron down icon Chevron up icon
7. Peeking into Special Routines Chevron down icon Chevron up icon
8. Assuring Quality with Testing Chevron down icon Chevron up icon
9. Plotting with matplotlib Chevron down icon Chevron up icon
10. When NumPy Is Not Enough – SciPy and Beyond Chevron down icon Chevron up icon
11. Playing with Pygame Chevron down icon Chevron up icon
A. Pop Quiz Answers Chevron down icon Chevron up icon
B. Additional Online Resources Chevron down icon Chevron up icon
C. NumPy Functions' References Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
(1 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 100%
1 star 0%
Alexander Sagel Jan 10, 2017
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
it's a helpful guide. however, the code examples are inconsistent in style and overflowing with mistakes. requires a thorough revision
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the digital copy I get with my Print order? Chevron down icon Chevron up icon

When you buy any Print edition of our Books, you can redeem (for free) the eBook edition of the Print Book you’ve purchased. This gives you instant access to your book when you make an order via PDF, EPUB or our online Reader experience.

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela