Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Modular Programming with Python

You're reading from   Modular Programming with Python Introducing modular techniques for building sophisticated programs using Python

Arrow left icon
Product type Paperback
Published in May 2016
Publisher Packt
ISBN-13 9781785884481
Length 246 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Erik Westra Erik Westra
Author Profile Icon Erik Westra
Erik Westra
Arrow right icon
View More author details
Toc

Table of Contents (11) Chapters Close

Preface 1. Introducing Modular Programming 2. Writing Your First Modular Program FREE CHAPTER 3. Using Modules and Packages 4. Using Modules for Real-World Programming 5. Working with Module Patterns 6. Creating Reusable Modules 7. Advanced Module Techniques 8. Testing and Deploying Modules 9. Modular Programming as a Foundation for Good Programming Technique Index

Import gotchas


While modules and packages are extremely useful, there are times when Python's import machinery can leave you with subtle problems that can take a long time to figure out. In this section, we will discuss some of the more common problems that you are likely to encounter while working with modules and packages.

Using an existing name for your module or package

Imagine that you're writing a program that makes use of the Python Standard Library. For example, you might make use of the random module to do the following:

import random
print(random.choice(["yes", "no"]))

Your program is working correctly until you decide that it has too many mathematical functions in the main script, and you refactor it to move these functions into a separate module. You decide to call this module math.py, and store it in your main program's directory. As soon as you do this, the previous code will crash with the following error:

Traceback (most recent call last):
  File "main.py", line 5, in <module...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime