|
| https://realpython.com/ |
| Start Here | https://realpython.com/start-here/ |
|
Learn Python
| https://realpython.com/lessons/python-modules-packages-exercises/ |
| Your Learning Plan →Your personalized Python learning plan | https://realpython.com/account/learning-plan/ |
| Python Tutorials →In-depth articles and video courses | https://realpython.com/search?kind=article&kind=course&order=newest&_from=nav_library |
| Learning Paths →Guided study plans for accelerated learning | https://realpython.com/learning-paths/ |
| Quizzes & Exercises →Check your learning progress | https://realpython.com/search?kind=exercise&kind=quiz&_from=nav_library |
| Browse Topics →Focus on a specific area or skill level | https://realpython.com/tutorials/all/ |
| Reference →Concise definitions for common Python terms | https://realpython.com/ref/ |
| Mentor AI →NewYour personal Python mentor | https://realpython.com/mentor/ |
| Office Hours →Live Q&A calls with Python experts | https://realpython.com/office-hours/ |
| Community Chat →Learn with other Pythonistas | https://realpython.com/community/ |
| Live Courses →Live, instructor-led Python courses | https://realpython.com/live/ |
| Books →Round out your knowledge and learn offline | https://realpython.com/products/books/ |
| Podcast →Hear what’s new in the world of Python | https://realpython.com/podcasts/rpp/ |
| Unlock All Content and Become a Python Expert →Get unlimited access to all Real Python has to offer | https://realpython.com/account/join/?from=navbar_learn |
| Unlock All Content →Become a Python Expert | https://realpython.com/account/join/?from=navbar_learn |
|
More
| https://realpython.com/lessons/python-modules-packages-exercises/ |
| Learner Stories | https://realpython.com/learner-stories/ |
| Python Newsletter | https://realpython.com/newsletter/ |
| Python Job Board | https://www.pythonjobshq.com |
| Meet the Team | https://realpython.com/team/ |
| Become a Contributor | https://realpython.com/jobs/ |
| Search | https://realpython.com/search |
| https://realpython.com/search |
| Join | https://realpython.com/account/join/ |
| Sign‑In | https://realpython.com/account/login/?intent=navbar&next=%2Flessons%2Fpython-modules-packages-exercises%2F |
| Unlock This Lesson | https://realpython.com/account/join/?utm_source=rp_lesson&utm_content=python-basics-modules-packages |
| Unlock This Lesson | https://realpython.com/account/join/?utm_source=rp_lesson&utm_content=python-basics-modules-packages |
|
| https://realpython.com/courses/python-basics-modules-packages/#team |
| Python Basics: Modules and Packages | https://realpython.com/courses/python-basics-modules-packages/ |
| Philipp Acsany | https://realpython.com/courses/python-basics-modules-packages/#team |
| Course Slides (.pdf) | https://realpython.com/courses/python-basics-modules-packages/downloads/python-basics-modules-packages-slides/ |
| Sample Code (.zip) | https://realpython.com/courses/python-basics-modules-packages/downloads/python-basics-modules-packages-code/ |
| Ask a Question | https://realpython.com/lessons/python-modules-packages-exercises/#discussion |
| https://realpython.com/feedback/survey/course/python-basics-modules-packages/liked/?from=lesson-title |
| https://realpython.com/feedback/survey/course/python-basics-modules-packages/disliked/?from=lesson-title |
| Contents | https://realpython.com/lessons/python-modules-packages-exercises/#description |
| Transcript | https://realpython.com/lessons/python-modules-packages-exercises/#transcript |
| Discussion (2) | https://realpython.com/lessons/python-modules-packages-exercises/#discussion |
| 00:00 | https://realpython.com/lessons/python-modules-packages-exercises/#t=0.975 |
| Watching this course and coding along is a great way to learn. | https://realpython.com/lessons/python-modules-packages-exercises/#t=0.975 |
| If you want to step up your learning experience even more, | https://realpython.com/lessons/python-modules-packages-exercises/#t=3.5949999999999998 |
| then I have some review exercises and a challenge for you. | https://realpython.com/lessons/python-modules-packages-exercises/#t=6.605 |
| 00:10 | https://realpython.com/lessons/python-modules-packages-exercises/#t=10.575 |
| I will read the exercises and the challenge to you, | https://realpython.com/lessons/python-modules-packages-exercises/#t=10.575 |
| but you can also find them in the PDF that you can download in the materials | https://realpython.com/lessons/python-modules-packages-exercises/#t=13.155 |
| below this video. | https://realpython.com/lessons/python-modules-packages-exercises/#t=16.865 |
| After finishing this course, | https://realpython.com/lessons/python-modules-packages-exercises/#t=17.964 |
| it’s a good idea to tackle them in the next few days. | https://realpython.com/lessons/python-modules-packages-exercises/#t=19.925 |
| 00:22 | https://realpython.com/lessons/python-modules-packages-exercises/#t=22.725 |
| That way, you can strengthen what you learned and come back to a specific lesson | https://realpython.com/lessons/python-modules-packages-exercises/#t=22.725 |
| of this course when you need a refresher. | https://realpython.com/lessons/python-modules-packages-exercises/#t=26.595 |
| Here is the first exercise. | https://realpython.com/lessons/python-modules-packages-exercises/#t=29.541 |
| Create a module called greeter.py that contains a single function, | https://realpython.com/lessons/python-modules-packages-exercises/#t=32.085 |
| greet(). | https://realpython.com/lessons/python-modules-packages-exercises/#t=37.115 |
| 00:38 | https://realpython.com/lessons/python-modules-packages-exercises/#t=38.305 |
| This function should accept a single string parameter, name, and print a text, | https://realpython.com/lessons/python-modules-packages-exercises/#t=38.305 |
| Hello, {name}! to the interactive window, | https://realpython.com/lessons/python-modules-packages-exercises/#t=43.605 |
| with {name} in the string replaced by the function argument. | https://realpython.com/lessons/python-modules-packages-exercises/#t=49.385 |
| 00:54 | https://realpython.com/lessons/python-modules-packages-exercises/#t=54.625 |
| So for example, Hello, Frieda! or Hello, Carolina!. | https://realpython.com/lessons/python-modules-packages-exercises/#t=54.625 |
| 01:01 | https://realpython.com/lessons/python-modules-packages-exercises/#t=61.705 |
| And here is another exercise. | https://realpython.com/lessons/python-modules-packages-exercises/#t=61.705 |
| Create a module called main.py that imports greeter from greeter.py, | https://realpython.com/lessons/python-modules-packages-exercises/#t=63.865 |
| and then calls the function with the argument "Real Python" as a string. | https://realpython.com/lessons/python-modules-packages-exercises/#t=69.305 |
| 01:16 | https://realpython.com/lessons/python-modules-packages-exercises/#t=76.515 |
| And here is a challenge. | https://realpython.com/lessons/python-modules-packages-exercises/#t=76.515 |
| This challenge is a bit more involved than the review exercises because you should | https://realpython.com/lessons/python-modules-packages-exercises/#t=78.005 |
| build an entire package yourself. | https://realpython.com/lessons/python-modules-packages-exercises/#t=81.935 |
| Here are the details: In a project folder called package_exercises/, | https://realpython.com/lessons/python-modules-packages-exercises/#t=85.085 |
| create a package called helpers with three modules: __init__.py, | https://realpython.com/lessons/python-modules-packages-exercises/#t=90.335 |
| string.py, and calc.py. | https://realpython.com/lessons/python-modules-packages-exercises/#t=95.855 |
| 01:42 | https://realpython.com/lessons/python-modules-packages-exercises/#t=102.095 |
| In the string.py module, | https://realpython.com/lessons/python-modules-packages-exercises/#t=102.095 |
| add a function called shout() that takes a single string parameter and returns | https://realpython.com/lessons/python-modules-packages-exercises/#t=104.095 |
| a new string with all of the letters in uppercase. | https://realpython.com/lessons/python-modules-packages-exercises/#t=108.995 |
| 01:53 | https://realpython.com/lessons/python-modules-packages-exercises/#t=113.695 |
| In the calc.py module, add a function called area() that takes two | https://realpython.com/lessons/python-modules-packages-exercises/#t=113.695 |
| parameters called length and width, | https://realpython.com/lessons/python-modules-packages-exercises/#t=118.675 |
| and returns their product, length multiplied by width. | https://realpython.com/lessons/python-modules-packages-exercises/#t=121.575 |
| 02:08 | https://realpython.com/lessons/python-modules-packages-exercises/#t=128.395 |
| In the package_exercises/ folder, | https://realpython.com/lessons/python-modules-packages-exercises/#t=128.395 |
| create a module called main.py that imports the string and calc modules. | https://realpython.com/lessons/python-modules-packages-exercises/#t=130.355 |
| 02:15 | https://realpython.com/lessons/python-modules-packages-exercises/#t=135.955 |
| Use string.shout() and calc.area() to print the following | https://realpython.com/lessons/python-modules-packages-exercises/#t=135.955 |
| output: THE AREA OF A 5-BY-8 RECTANGLE IS 40. | https://realpython.com/lessons/python-modules-packages-exercises/#t=140.615 |
| Or maybe I should scream this part because it’s uppercase? | https://realpython.com/lessons/python-modules-packages-exercises/#t=146.085 |
| 02:29 | https://realpython.com/lessons/python-modules-packages-exercises/#t=149.737 |
| No, | https://realpython.com/lessons/python-modules-packages-exercises/#t=149.737 |
| I think it’s better for your ears this way. | https://realpython.com/lessons/python-modules-packages-exercises/#t=149.985 |
| The return string should be in uppercase letters. | https://realpython.com/lessons/python-modules-packages-exercises/#t=152.405 |
| All right, | https://realpython.com/lessons/python-modules-packages-exercises/#t=156.11 |
| these are two exercises and one challenge that you can do for yourself on your | https://realpython.com/lessons/python-modules-packages-exercises/#t=157.175 |
| computer. | https://realpython.com/lessons/python-modules-packages-exercises/#t=161.365 |
| 02:41 | https://realpython.com/lessons/python-modules-packages-exercises/#t=161.887 |
| If you are feeling motivated, you can tackle them right away. | https://realpython.com/lessons/python-modules-packages-exercises/#t=161.887 |
| Otherwise, it can make sense to revisit them in a few days. | https://realpython.com/lessons/python-modules-packages-exercises/#t=165.355 |
| Either way, | https://realpython.com/lessons/python-modules-packages-exercises/#t=169.197 |
| before you leave, let me wrap up this course in the next lesson. | https://realpython.com/lessons/python-modules-packages-exercises/#t=170.105 |
| April 1, 2025 | https://realpython.com/lessons/python-modules-packages-exercises/#comment-b65e05b9-76e2-4ca9-9b87-7e975937bd5e |
| April 1, 2025 | https://realpython.com/lessons/python-modules-packages-exercises/#comment-8ab45a96-c7a9-44f6-b939-af1241f31045 |
| Become a Member | https://realpython.com/account/join/ |
| https://realpython.com/lessons/exercise-import-from-package/ |
| Overview | https://realpython.com/courses/python-basics-modules-packages/ |
| https://realpython.com/lessons/modules-packages-quiz/ |
|
Python Basics: Modules and Packages (Overview) 01:44
| https://realpython.com/videos/modules-packages-overview/ |
|
Working With Modules 00:27
| https://realpython.com/videos/working-with-python-modules/ |
|
Creating Modules 01:55
| https://realpython.com/videos/creating-python-modules/ |
|
Calling an Imported Object 01:45
| https://realpython.com/lessons/call-imported-object/ |
|
Understanding Namespaces 00:27
| https://realpython.com/lessons/understanding-namespaces/ |
|
Accessing Objects From Inside a Module 01:02
| https://realpython.com/lessons/accessing-module-objects/ |
|
Using Dot Notation for Imported Objects 00:54
| https://realpython.com/lessons/dot-notation-imported-objects/ |
|
Adding Objects to a Namespace 01:29
| https://realpython.com/lessons/adding-namespace-objects/ |
|
Breaking a Program Into Modules 00:45
| https://realpython.com/lessons/break-program-into-modules/ |
|
Exercise: Import and Use a Module 08:00
| https://realpython.com/lessons/exercise-import-use-module/ |
|
Exercise: Fix a Broken Import 08:00
| https://realpython.com/lessons/exercise-fix-broken-import/ |
|
Renaming an Imported Module 02:42
| https://realpython.com/lessons/rename-imported-module/ |
|
Importing Objects From a Module 03:20
| https://realpython.com/lessons/import-module-objects/ |
|
Summarizing Import Statements 03:18
| https://realpython.com/lessons/summarizing-import-statements/ |
|
Exercise: Import Specific Functions 08:00
| https://realpython.com/lessons/exercise-import-specific-functions/ |
|
Taking Advantage of Namespaces 01:04
| https://realpython.com/lessons/namespace-advantages/ |
|
Introducing Packages 01:16
| https://realpython.com/lessons/introducing-python-packages/ |
|
Creating Packages 03:21
| https://realpython.com/lessons/creating-python-packages/ |
|
Working With Packages 04:16
| https://realpython.com/lessons/working-with-packages/ |
|
Summarizing Import Statements for Packages 01:40
| https://realpython.com/lessons/package-import-statements/ |
|
Importing Modules From Subpackages 03:57
| https://realpython.com/lessons/importing-modules-from-subpackages/ |
|
Exercise: Import From a Package 08:00
| https://realpython.com/lessons/exercise-import-from-package/ |
|
Python Basics: Modules and Packages (Exercises) 02:55
| https://realpython.com/lessons/python-modules-packages-exercises/ |
|
Python Basics: Modules and Packages (Quiz) 05:30
| https://realpython.com/lessons/modules-packages-quiz/ |
|
Python Basics: Modules and Packages (Summary) 01:37
| https://realpython.com/lessons/modules-packages-summary/ |
| Privacy Policy | https://realpython.com/privacy-policy/ |
Viewport: width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover