Custom modules help you organize your code into separate files. This makes your programs easier to read and reuse.
You want to split a big program into smaller parts.
You want to reuse functions or classes in different programs.
You want to share your code with friends or coworkers.
You want to keep your main program file clean and simple.
Syntax
Python
Create a file named mymodule.py:
def greet(name):
return f"Hello, {name}!"
In another file, importand use it:
import mymodule
print(mymodule.greet("Alice"))
The module file must have a .py extension.
Use import module_name to use the module in another file.
Examples
This example shows a simple function in a module and how to call it.
Python
# mymodule.pydef add(a, b):
return a + b
# main.pyimport mymodule
print(mymodule.add(3, 4))
This example imports only the area function from the module.
Python
# mymodule.py
PI = 3.14def area(radius):
return PI * radius * radius
# main.pyfrom mymodule import area
print(area(5))
This example shows how to import and use a class from a custom module.
Python
# mymodule.pyclass Person:
def __init__(self, name):
self.name = name
def greet(self):
return f"Hi, I am {self.name}."# main.pyfrom mymodule import Person
p = Person("Bob")
print(p.greet())
Sample Program
This program creates a module with a multiply function. The main program imports it and prints the result.
Python
# file: mymodule.pydef multiply(x, y):
return x * y
# file: main.pyimport mymodule
result = mymodule.multiply(6, 7)
print(f"6 times 7 is {result}")
OutputSuccess
Important Notes
Make sure the module file is in the same folder as your main program or in Python's search path.
You can import multiple functions or classes using commas: from module import func1, func2.
Use as to rename modules or functions when importing for easier use.
Summary
Custom modules help organize and reuse code.
Create a module by saving functions or classes in a .py file.
Import modules using import or from ... import to use their code.
Practice
(1/5)
1. What is the main purpose of creating a custom module in Python?
easy
A. To make the program run faster
B. To store data permanently
C. To create graphical user interfaces
D. To organize and reuse code easily
Solution
Step 1: Understand what a module is
A module is a file containing Python code like functions or classes.
Step 2: Identify the purpose of custom modules
Custom modules help organize code and allow reuse in different programs.
Final Answer:
To organize and reuse code easily -> Option D
Quick Check:
Custom modules = organize and reuse code [OK]
Hint: Modules group code for reuse and clarity [OK]
Common Mistakes:
Thinking modules speed up code execution
Confusing modules with data storage
Assuming modules create user interfaces
2. Which of the following is the correct way to import a custom module named mymodule?
easy
A. import mymodule
B. include mymodule
C. using mymodule
D. load mymodule
Solution
Step 1: Recall Python import syntax
Python uses the keyword import to bring in modules.
Step 2: Match correct syntax
Only import mymodule is valid Python syntax for importing a module.
Final Answer:
import mymodule -> Option A
Quick Check:
Import module = import keyword [OK]
Hint: Use 'import' keyword to bring in modules [OK]
Common Mistakes:
Using 'include' or 'load' which are not Python keywords
Trying 'using' which is from other languages
Misspelling 'import'
3. Given a file math_ops.py with this code:
def add(a, b):
return a + b
What will be the output of this code?
import math_ops
print(math_ops.add(3, 4))
medium
A. 7
B. 34
C. TypeError
D. NameError
Solution
Step 1: Understand the function in math_ops.py
The function add takes two numbers and returns their sum.
Hint: Imported functions run normally with correct arguments [OK]
Common Mistakes:
Confusing string concatenation with addition
Expecting errors due to import
Forgetting to call function with parentheses
4. You have a module file named utils.py with a function greet(). Which of these import statements will cause an error?
medium
A. import utils
B. import utils.greet
C. from utils import greet
D. from utils import greet as hello
Solution
Step 1: Understand Python import rules
You can import a module or specific functions from it, but not a function as a submodule.
Step 2: Check each option
Options B, C, and D are valid. import utils.greet tries to import a function as a module, which causes ImportError.
Final Answer:
import utils.greet -> Option B
Quick Check:
Functions are imported, not as submodules [OK]
Hint: Import modules or functions, not functions as modules [OK]
Common Mistakes:
Trying to import a function like a module
Confusing 'from' and 'import' usage
Using invalid aliases
5. You want to create a custom module text_utils.py with a function count_vowels(text) that returns the number of vowels in a string. Which code correctly defines this function?
hard
A. def count_vowels(text):
vowels = 'aeiou'
count = 0
for char in text:
if char in vowels:
count += 1
return count
B. def count_vowels(text):
vowels = ['a', 'e', 'i', 'o', 'u']
count = 0
for char in text:
if char in vowels:
count += 1
return count
C. def count_vowels(text):
vowels = 'aeiouAEIOU'
return sum(1 for char in text if char in vowels)
D. def count_vowels(text):
vowels = 'AEIOU'
count = 0
for char in text:
if char.lower() in vowels:
count += 1
return count
Solution
Step 1: Check vowel counting logic
def count_vowels(text):
vowels = 'aeiouAEIOU'
return sum(1 for char in text if char in vowels) uses a string with both uppercase and lowercase vowels and counts characters in one line using sum and generator.
Step 2: Compare other options
def count_vowels(text):
vowels = ['a', 'e', 'i', 'o', 'u']
count = 0
for char in text:
if char in vowels:
count += 1
return count misses uppercase vowels, def count_vowels(text):
vowels = 'aeiou'
count = 0
for char in text:
if char in vowels:
count += 1
return count misses uppercase vowels, def count_vowels(text):
vowels = 'AEIOU'
count = 0
for char in text:
if char.lower() in vowels:
count += 1
return count incorrectly checks lowercase char in uppercase vowels string.
Final Answer:
def count_vowels(text):
vowels = 'aeiouAEIOU'
return sum(1 for char in text if char in vowels) -> Option C
Quick Check:
Count vowels with case check = def count_vowels(text):
vowels = 'aeiouAEIOU'
return sum(1 for char in text if char in vowels) [OK]
Hint: Use sum with generator and full vowel set for case [OK]
Common Mistakes:
Ignoring uppercase vowels
Checking lowercase char in uppercase vowels string
Using list instead of string for vowels unnecessarily
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.