Bird
Raised Fist0
Pythonprogramming~5 mins

Importing specific items in Python

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

Importing specific items lets you bring only the parts you need from a module. This keeps your code clean and uses less memory.

When you only need a few functions or classes from a large module.
To avoid naming conflicts by importing only what you want.
To make your code easier to read by showing exactly what you use.
When you want to reduce the startup time of your program by loading less code.
Syntax
Python
from module_name import item1, item2, ...
You can import multiple items by separating them with commas.
Imported items can be functions, classes, or variables.
Examples
This imports only the sqrt function from the math module.
Python
from math import sqrt
This imports the date and time classes from the datetime module.
Python
from datetime import date, time
This imports randint but renames it to random_int for easier use.
Python
from random import randint as random_int
Sample Program

This program imports sqrt and pi from the math module. It calculates the square root of 16 and then uses that as the radius to find the area of a circle.

Python
from math import sqrt, pi

number = 16
root = sqrt(number)
circle_area = pi * (root ** 2)

print(f"Square root of {number} is {root}")
print(f"Area of circle with radius {root} is {circle_area}")
OutputSuccess
Important Notes

Importing specific items helps avoid loading the whole module, which can save memory.

You can rename imported items using as to avoid name clashes or for convenience.

If you import many items, consider if importing the whole module might be clearer.

Summary

Use from module import item to bring in only what you need.

This keeps your code clean and can improve performance.

You can import multiple items and rename them for clarity.

Practice

(1/5)
1. What does the statement from math import sqrt do in Python?
easy
A. It imports the entire math module.
B. It imports only the sqrt function from the math module.
C. It imports all functions except sqrt from math.
D. It renames the math module to sqrt.

Solution

  1. Step 1: Understand the import syntax

    The syntax from module import item imports only the specified item from the module.
  2. Step 2: Apply to the given statement

    Here, sqrt function is imported from the math module, not the whole module.
  3. Final Answer:

    It imports only the sqrt function from the math module. -> Option B
  4. Quick Check:

    from module import item = import only that item [OK]
Hint: Remember: 'from module import item' imports just that item [OK]
Common Mistakes:
  • Thinking it imports the whole module
  • Confusing import with renaming
  • Assuming it excludes the named item
2. Which of the following is the correct syntax to import the choice and shuffle functions from the random module?
easy
A. from random import choice, shuffle
B. import random.choice, random.shuffle
C. import choice, shuffle from random
D. from random import (choice shuffle)

Solution

  1. Step 1: Recall correct import syntax for multiple items

    To import multiple items, use from module import item1, item2 separated by commas.
  2. Step 2: Check each option

    from random import choice, shuffle matches the correct syntax: from random import choice, shuffle.
  3. Final Answer:

    from random import choice, shuffle -> Option A
  4. Quick Check:

    Multiple imports use commas inside from-import [OK]
Hint: Use commas to import multiple items from a module [OK]
Common Mistakes:
  • Using 'import module.item' syntax incorrectly
  • Placing 'from' after 'import'
  • Using parentheses without commas
3. What will be the output of this code?
from math import sqrt
print(sqrt(16))
medium
A. sqrt(16)
B. 16
C. NameError
D. 4.0

Solution

  1. Step 1: Understand what sqrt(16) does

    The sqrt function returns the square root of the number, so sqrt(16) returns 4.0.
  2. Step 2: Confirm import allows direct use

    Since sqrt was imported directly, calling sqrt(16) works without prefix.
  3. Final Answer:

    4.0 -> Option D
  4. Quick Check:

    sqrt(16) = 4.0 [OK]
Hint: Direct import lets you call function without module name [OK]
Common Mistakes:
  • Expecting integer 4 instead of float 4.0
  • Forgetting to import sqrt causing NameError
  • Trying to call math.sqrt without importing math
4. Identify the error in this code:
from os import path
print(os.path.exists('file.txt'))
medium
A. NameError because os is not imported
B. AttributeError because path has no exists method
C. SyntaxError in import statement
D. No error, code runs fine

Solution

  1. Step 1: Analyze the import statement

    The code imports only path from os, not the whole os module.
  2. Step 2: Check usage of os.path.exists

    The code tries to use os.path.exists, but os is not defined, causing a NameError.
  3. Final Answer:

    NameError because os is not imported -> Option A
  4. Quick Check:

    Importing item only means module name is undefined [OK]
Hint: Importing item doesn't import module name itself [OK]
Common Mistakes:
  • Assuming module name is available after importing item
  • Confusing AttributeError with NameError
  • Thinking import syntax is wrong
5. You want to import the datetime and timedelta classes from the datetime module but rename timedelta to td for clarity. Which is the correct import statement?
hard
A. from datetime import datetime as dt, timedelta as td
B. import datetime.datetime, datetime.timedelta as td
C. from datetime import datetime, timedelta as td
D. from datetime import datetime, timedelta td

Solution

  1. Step 1: Understand renaming syntax in import

    You can rename an imported item using as, e.g., timedelta as td.
  2. Step 2: Check options for correct syntax

    from datetime import datetime, timedelta as td correctly imports datetime and renames timedelta to td using from datetime import datetime, timedelta as td.
  3. Final Answer:

    from datetime import datetime, timedelta as td -> Option C
  4. Quick Check:

    Use 'as' to rename imported items [OK]
Hint: Use 'as' to rename imported items for clarity [OK]
Common Mistakes:
  • Trying to rename module instead of item
  • Incorrect syntax without commas or 'as'
  • Using import instead of from-import for renaming