<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>A Comprehensive Guide to Teach me python from basic to advance - with latest version as of December 2025 Chapters on AI VOID</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/</link><description>Recent content in A Comprehensive Guide to Teach me python from basic to advance - with latest version as of December 2025 Chapters on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 03 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/python-mastery-2025/index.xml" rel="self" type="application/rss+xml"/><item><title>Advanced OOP: Inheritance and Polymorphism</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-11-advanced-oop-inheritance-polymorphism/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-11-advanced-oop-inheritance-polymorphism/</guid><description>&lt;h2 id="introduction-building-smarter-more-flexible-code"&gt;Introduction: Building Smarter, More Flexible Code&lt;/h2&gt;
&lt;p&gt;Welcome back, coding adventurer! In our previous chapters, we laid a solid foundation in Object-Oriented Programming (OOP), learning how to encapsulate data and behavior into neat packages called classes and objects. You&amp;rsquo;ve mastered creating objects, defining attributes, and crafting methods that bring your code to life. That&amp;rsquo;s fantastic progress!&lt;/p&gt;
&lt;p&gt;Now, we&amp;rsquo;re ready to unlock even more power and elegance in our Python programs. This chapter dives into two cornerstone concepts of advanced OOP: &lt;strong&gt;Inheritance&lt;/strong&gt; and &lt;strong&gt;Polymorphism&lt;/strong&gt;. These aren&amp;rsquo;t just fancy words; they&amp;rsquo;re incredibly practical tools that allow us to write less code, make our programs more organized, easier to maintain, and much more flexible. Think of it as moving from building individual LEGO bricks to designing entire LEGO sets with reusable components!&lt;/p&gt;</description></item><item><title>Asynchronous Programming with `async`/`await`</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-14-asynchronous-programming-async-await/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-14-asynchronous-programming-async-await/</guid><description>&lt;h2 id="chapter-14-asynchronous-programming-with-asyncawait"&gt;Chapter 14: Asynchronous Programming with &lt;code&gt;async&lt;/code&gt;/&lt;code&gt;await&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Welcome back, future Python master! So far, you&amp;rsquo;ve learned to write Python code that runs step-by-step, one instruction after another. This is called &lt;em&gt;synchronous&lt;/em&gt; programming, and it&amp;rsquo;s how most of your code works. But what happens when your program needs to wait for something slow, like fetching data from the internet, reading a large file, or waiting for a user input? It just&amp;hellip; waits. And while it&amp;rsquo;s waiting, it can&amp;rsquo;t do anything else!&lt;/p&gt;</description></item><item><title>Context Managers and the `with` Statement</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-13-context-managers-with-statement/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-13-context-managers-with-statement/</guid><description>&lt;h2 id="introduction-managing-resources-gracefully-with-with"&gt;Introduction: Managing Resources Gracefully with &lt;code&gt;with&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Welcome back, intrepid coder! In this chapter, we&amp;rsquo;re going to unlock a powerful Python construct that makes managing resources super easy and safe: &lt;strong&gt;Context Managers&lt;/strong&gt; and the &lt;strong&gt;&lt;code&gt;with&lt;/code&gt; statement&lt;/strong&gt;. You&amp;rsquo;ll discover how these tools help you handle things like files, network connections, or database sessions without worrying about leaving them open or messy.&lt;/p&gt;
&lt;p&gt;Why does this matter? Imagine you open a file to write some data. What if your program crashes right in the middle? That file might not be properly closed, leading to corrupted data or wasted system resources. Context managers are like a built-in safety net, ensuring that certain &amp;ldquo;setup&amp;rdquo; actions are always followed by their corresponding &amp;ldquo;cleanup&amp;rdquo; actions, even if things go wrong.&lt;/p&gt;</description></item><item><title>Crafting Reusable Code with Functions</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-6-crafting-reusable-code-functions/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-6-crafting-reusable-code-functions/</guid><description>&lt;h2 id="introduction-the-power-of-reusability"&gt;Introduction: The Power of Reusability&lt;/h2&gt;
&lt;p&gt;Welcome back, coding adventurer! So far, you&amp;rsquo;ve learned how to store information in variables, make decisions with &lt;code&gt;if&lt;/code&gt;/&lt;code&gt;else&lt;/code&gt; statements, and repeat actions with loops. You&amp;rsquo;re already building small, powerful programs! But what if you find yourself writing the same set of instructions over and over again? Or what if your program gets so long that it&amp;rsquo;s hard to follow? That&amp;rsquo;s where functions come to the rescue!&lt;/p&gt;</description></item><item><title>Decorators and Generators: Powerful Pythonic Tools</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-12-decorators-generators-powerful-pythonic-tools/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-12-decorators-generators-powerful-pythonic-tools/</guid><description>&lt;h2 id="chapter-12-decorators-and-generators-powerful-pythonic-tools"&gt;Chapter 12: Decorators and Generators: Powerful Pythonic Tools&lt;/h2&gt;
&lt;p&gt;Welcome back, coding adventurer! In this chapter, we&amp;rsquo;re going to dive into two incredibly powerful and elegant features of Python: &lt;strong&gt;Decorators&lt;/strong&gt; and &lt;strong&gt;Generators&lt;/strong&gt;. These aren&amp;rsquo;t just fancy keywords; they are tools that will help you write cleaner, more efficient, and truly &amp;ldquo;Pythonic&amp;rdquo; code. Mastering them will elevate your programming skills significantly!&lt;/p&gt;
&lt;p&gt;You might find these concepts a bit mind-bending at first, especially decorators, as they involve functions interacting with other functions in cool new ways. But don&amp;rsquo;t worry, we&amp;rsquo;ll break everything down into the smallest, most manageable steps, just like we always do. By the end, you&amp;rsquo;ll not only understand what they are but also how to wield them effectively in your own projects.&lt;/p&gt;</description></item><item><title>Handling Errors and Debugging Your Code</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-8-handling-errors-debugging-code/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-8-handling-errors-debugging-code/</guid><description>&lt;h2 id="chapter-8-handling-errors-and-debugging-your-code"&gt;Chapter 8: Handling Errors and Debugging Your Code&lt;/h2&gt;
&lt;p&gt;Hello, aspiring Pythonista! Welcome to Chapter 8 of our journey. So far, you&amp;rsquo;ve learned to write some fantastic Python code, from basic variables to functions and control flow. But what happens when your code doesn&amp;rsquo;t quite do what you expect, or worse, crashes with a cryptic message? Don&amp;rsquo;t worry, it happens to &lt;em&gt;everyone&lt;/em&gt; – even seasoned pros!&lt;/p&gt;
&lt;p&gt;In this chapter, we&amp;rsquo;re going to equip you with two superpowers: &lt;strong&gt;Error Handling&lt;/strong&gt; and &lt;strong&gt;Debugging&lt;/strong&gt;. Error handling teaches your programs to gracefully recover from unexpected situations, making them more robust and user-friendly. Debugging helps you track down and fix those pesky mistakes that prevent your code from working correctly. By the end of this chapter, you&amp;rsquo;ll be much more confident in writing reliable Python applications, using the latest Python 3.14.1 features!&lt;/p&gt;</description></item><item><title>Interacting with Files: Reading and Writing Data</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-9-interacting-with-files-reading-writing-data/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-9-interacting-with-files-reading-writing-data/</guid><description>&lt;h2 id="chapter-9-interacting-with-files-reading-and-writing-data"&gt;Chapter 9: Interacting with Files: Reading and Writing Data&lt;/h2&gt;
&lt;h3 id="introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Welcome back, Python adventurer! So far, we&amp;rsquo;ve learned how to store data in variables, organize it in lists and dictionaries, and process it with loops and functions. But what happens to our data when our program finishes running? Poof! It&amp;rsquo;s gone. That&amp;rsquo;s where file interaction comes in!&lt;/p&gt;
&lt;p&gt;In this chapter, we&amp;rsquo;re going to unlock the power of &lt;strong&gt;file I/O&lt;/strong&gt; (Input/Output). You&amp;rsquo;ll learn how to create new text files, write information into them, read existing data from them, and even add new content without erasing the old. This ability to persist data is a cornerstone of almost every useful application, from saving game progress to logging important events, or even storing user preferences. Get ready to make your Python programs remember things!&lt;/p&gt;</description></item><item><title>Making Decisions with Control Flow</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-3-making-decisions-control-flow/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-3-making-decisions-control-flow/</guid><description>&lt;h2 id="introduction-guiding-your-codes-choices"&gt;Introduction: Guiding Your Code&amp;rsquo;s Choices&lt;/h2&gt;
&lt;p&gt;Welcome back, future Pythonista! In our previous chapters, you learned about Python&amp;rsquo;s fundamental building blocks: variables, different data types, and how to perform basic operations. You can store information, manipulate numbers, and even work with text. That&amp;rsquo;s fantastic! But so far, your programs have been a bit like a train on a single, straight track – they just run from start to finish, executing every line in order.&lt;/p&gt;</description></item><item><title>Modules, Packages, and Virtual Environments</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-7-modules-packages-virtual-environments/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-7-modules-packages-virtual-environments/</guid><description>&lt;h2 id="introduction-organizing-your-python-world"&gt;Introduction: Organizing Your Python World&lt;/h2&gt;
&lt;p&gt;Welcome back, future Pythonista! So far, you&amp;rsquo;ve learned to write individual Python scripts, create variables, use control flow, and even craft your own functions. That&amp;rsquo;s fantastic! But as your programs grow, you&amp;rsquo;ll find that having all your code in one giant file can get messy, hard to manage, and difficult to reuse.&lt;/p&gt;
&lt;p&gt;This chapter is all about bringing order to your Python universe. We&amp;rsquo;ll explore three essential concepts: &lt;strong&gt;Modules&lt;/strong&gt;, &lt;strong&gt;Packages&lt;/strong&gt;, and &lt;strong&gt;Virtual Environments&lt;/strong&gt;. Think of them as the building blocks and organizational tools that professional developers use to keep their projects clean, efficient, and scalable. By the end, you&amp;rsquo;ll understand how to structure your code for maximum reusability, manage external libraries, and ensure your projects play nicely with each other, all while using the very latest stable Python release: &lt;strong&gt;Python 3.14.1&lt;/strong&gt;, which was released on December 2, 2025.&lt;/p&gt;</description></item><item><title>Object-Oriented Programming (OOP) Essentials</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-10-object-oriented-programming-oop-essentials/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-10-object-oriented-programming-oop-essentials/</guid><description>&lt;p&gt;Welcome back, intrepid Pythonista! So far, you&amp;rsquo;ve mastered the building blocks of Python: variables, data types, control flow, and functions. You&amp;rsquo;re already writing some pretty neat scripts, but what if we told you there&amp;rsquo;s a way to organize your code that makes it even more powerful, reusable, and easier to manage?&lt;/p&gt;
&lt;p&gt;In this chapter, we&amp;rsquo;re going to unlock the magic of &lt;strong&gt;Object-Oriented Programming (OOP)&lt;/strong&gt;. This isn&amp;rsquo;t just a fancy term; it&amp;rsquo;s a fundamental paradigm that helps us model real-world problems in our code. We&amp;rsquo;ll cover the core concepts like classes, objects, attributes, and methods, making sure you understand &lt;em&gt;why&lt;/em&gt; and &lt;em&gt;how&lt;/em&gt; they work, not just &lt;em&gt;what&lt;/em&gt; they are. Get ready to think about your code in a whole new, organized way!&lt;/p&gt;</description></item><item><title>Organizing Data with Python&amp;#39;s Collections</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-5-organizing-data-pythons-collections/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-5-organizing-data-pythons-collections/</guid><description>&lt;h2 id="chapter-5-organizing-data-with-pythons-collections"&gt;Chapter 5: Organizing Data with Python&amp;rsquo;s Collections&lt;/h2&gt;
&lt;p&gt;Welcome back, coding adventurer! So far, you&amp;rsquo;ve mastered the basics of Python, like storing single pieces of information in variables and making your programs say &amp;ldquo;Hello!&amp;rdquo;. That&amp;rsquo;s fantastic! But what if you need to store &lt;em&gt;many&lt;/em&gt; pieces of information? Imagine you&amp;rsquo;re building a shopping list, a list of your favorite movies, or even a dictionary to translate words. Storing each item in a separate variable would quickly become a chaotic mess!&lt;/p&gt;</description></item><item><title>Packaging and Distributing Your Python Projects</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-20-packaging-distributing-projects/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-20-packaging-distributing-projects/</guid><description>&lt;h2 id="packaging-and-distributing-your-python-projects"&gt;Packaging and Distributing Your Python Projects&lt;/h2&gt;
&lt;p&gt;Welcome back, future Pythonista! In our journey so far, you&amp;rsquo;ve learned to write amazing Python code, organize it into modules, and even create your own packages. But what if you want to share your brilliant creations with the world? How do you make it easy for others (or your future self!) to install and use your code without manually copying files around?&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s where &lt;em&gt;packaging and distribution&lt;/em&gt; come in! This chapter is all about transforming your Python project into a professional, easily installable package that can be shared on platforms like the Python Package Index (PyPI). We&amp;rsquo;ll cover the modern tools and best practices to get your code out there, making it reusable and discoverable.&lt;/p&gt;</description></item><item><title>Project: Building a Command-Line Utility</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-15-project-building-command-line-utility/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-15-project-building-command-line-utility/</guid><description>&lt;h2 id="chapter-15-project-building-a-command-line-utility"&gt;Chapter 15: Project: Building a Command-Line Utility&lt;/h2&gt;
&lt;p&gt;Welcome back, future Pythonista! So far, we&amp;rsquo;ve explored many fascinating aspects of Python, from basic syntax to functions, modules, and beyond. You&amp;rsquo;ve been writing small scripts and seeing your code come to life. Now, it&amp;rsquo;s time to put some of that knowledge into action by building something truly practical: a command-line utility!&lt;/p&gt;
&lt;p&gt;In this chapter, we&amp;rsquo;re going to embark on a mini-project to create our very own command-line tool. This will teach you how to make your Python scripts more interactive and user-friendly, allowing them to accept inputs directly from the terminal. We&amp;rsquo;ll dive into Python&amp;rsquo;s powerful &lt;code&gt;argparse&lt;/code&gt; module, which is the standard way to handle command-line arguments, and learn how to structure a script that users can run just like any other program on their system.&lt;/p&gt;</description></item><item><title>Project: Interacting with an API</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-17-project-interacting-with-api/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-17-project-interacting-with-api/</guid><description>&lt;h2 id="chapter-17-project-interacting-with-an-api"&gt;Chapter 17: Project: Interacting with an API&lt;/h2&gt;
&lt;p&gt;Welcome back, aspiring Pythonista! So far, we&amp;rsquo;ve learned how to make our Python programs perform calculations, handle data, make decisions, and even manage files. That&amp;rsquo;s a solid foundation! But what if your program needs to get information from &lt;em&gt;outside&lt;/em&gt; itself? What if it needs to talk to other services on the internet?&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s precisely what we&amp;rsquo;ll tackle in this exciting chapter: &lt;strong&gt;interacting with an API&lt;/strong&gt;. You&amp;rsquo;ll discover how to connect your Python applications to external web services, fetch data, and even send information using the power of &lt;strong&gt;HTTP requests&lt;/strong&gt;. This is a fundamental skill for any modern developer, opening up a world of possibilities from building weather apps to automating social media tasks.&lt;/p&gt;</description></item><item><title>Project: Simple Web Scraper with Requests and Beautiful Soup</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-16-project-simple-web-scraper/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-16-project-simple-web-scraper/</guid><description>&lt;h2 id="welcome-to-chapter-16-project-simple-web-scraper"&gt;Welcome to Chapter 16: Project: Simple Web Scraper!&lt;/h2&gt;
&lt;p&gt;Hello, coding adventurers! Are you ready to dive into a super practical and incredibly fun project? In this chapter, we&amp;rsquo;re going to build our very first web scraper! This means we&amp;rsquo;ll write a Python program that can visit a website, read its content (just like you do), and then extract specific pieces of information we&amp;rsquo;re interested in.&lt;/p&gt;
&lt;p&gt;This skill is incredibly powerful. Imagine needing to collect data from many web pages, track prices, or monitor news headlines – web scraping allows your Python programs to do this automatically! We&amp;rsquo;ll be using two fantastic Python libraries: &lt;code&gt;requests&lt;/code&gt; to fetch the web page content and &lt;code&gt;Beautiful Soup&lt;/code&gt; to elegantly parse and navigate the HTML.&lt;/p&gt;</description></item><item><title>Pythonic Code: PEP 8, Linters, and Formatters</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-18-pythonic-code-pep8-linters-formatters/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-18-pythonic-code-pep8-linters-formatters/</guid><description>&lt;h2 id="introduction-making-your-code-speak-python"&gt;Introduction: Making Your Code Speak Python&lt;/h2&gt;
&lt;p&gt;Welcome back, coding adventurer! In our journey so far, we&amp;rsquo;ve learned how to make Python &lt;em&gt;do&lt;/em&gt; things. But did you know there&amp;rsquo;s a difference between code that &lt;em&gt;works&lt;/em&gt; and code that&amp;rsquo;s truly &lt;em&gt;Pythonic&lt;/em&gt;? Just like speaking English with clear grammar and good pronunciation makes you easier to understand, writing &amp;ldquo;Pythonic&amp;rdquo; code makes your programs easier to read, maintain, and collaborate on.&lt;/p&gt;
&lt;p&gt;In this chapter, we&amp;rsquo;re going to unlock the secrets to writing beautiful, idiomatic Python code. We&amp;rsquo;ll dive into PEP 8, Python&amp;rsquo;s official style guide, and then introduce you to powerful tools called &lt;strong&gt;linters&lt;/strong&gt; and &lt;strong&gt;formatters&lt;/strong&gt; that act like your personal code stylists and grammar checkers. By the end, you&amp;rsquo;ll not only write functional code but also code that professional Python developers admire. This chapter builds on your foundational understanding of Python syntax, functions, and variables from previous lessons, so get ready to polish your programming prowess!&lt;/p&gt;</description></item><item><title>Repeating Actions with Loops</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-4-repeating-actions-loops/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-4-repeating-actions-loops/</guid><description>&lt;h2 id="repeating-actions-with-loops"&gt;Repeating Actions with Loops&lt;/h2&gt;
&lt;p&gt;Welcome back, coding adventurer! In the previous chapters, we learned how to store information in variables, make decisions with &lt;code&gt;if&lt;/code&gt; statements, and organize our code. That&amp;rsquo;s a fantastic start!&lt;/p&gt;
&lt;p&gt;But what if you need to do the same thing, or a very similar thing, multiple times? Imagine you have a list of 100 names and you need to print a greeting for each one. Would you write &lt;code&gt;print()&lt;/code&gt; 100 times? That sounds incredibly tedious and inefficient, right?&lt;/p&gt;</description></item><item><title>Setting Up Your Python Playground</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-1-setting-up-your-python-playground/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-1-setting-up-your-python-playground/</guid><description>&lt;h2 id="welcome-to-your-python-adventure"&gt;Welcome to Your Python Adventure!&lt;/h2&gt;
&lt;p&gt;Hello, future coding superstar! Welcome to the very first chapter of our journey into the exciting world of Python. This isn&amp;rsquo;t just a guide; it&amp;rsquo;s your personal mentor, designed to walk you through every step, no matter how small, with encouragement and clarity. We&amp;rsquo;re going to build your Python skills from the ground up, ensuring you truly understand &lt;em&gt;why&lt;/em&gt; things work, not just &lt;em&gt;how&lt;/em&gt; to copy-paste.&lt;/p&gt;</description></item><item><title>Testing Your Code with `unittest` and `pytest`</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-19-testing-your-code-unittest-pytest/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-19-testing-your-code-unittest-pytest/</guid><description>&lt;h2 id="introduction-to-testing-your-code"&gt;Introduction to Testing Your Code&lt;/h2&gt;
&lt;p&gt;Welcome back, future Pythonista! So far, you&amp;rsquo;ve learned to write amazing Python code, build functions, create classes, and even handle errors. But how do you &lt;em&gt;know&lt;/em&gt; your code actually works as intended, especially as it grows more complex? How do you ensure that adding a new feature doesn&amp;rsquo;t accidentally break an old one?&lt;/p&gt;
&lt;p&gt;The answer, my friend, is &lt;strong&gt;testing&lt;/strong&gt;! In this chapter, we&amp;rsquo;re going to dive into the incredibly important world of unit testing in Python. You&amp;rsquo;ll learn how to write small, focused tests for individual pieces of your code, giving you confidence that your programs are robust and reliable. We&amp;rsquo;ll explore Python&amp;rsquo;s built-in testing framework, &lt;code&gt;unittest&lt;/code&gt;, and then introduce you to &lt;code&gt;pytest&lt;/code&gt;, a hugely popular and powerful third-party testing tool that many developers prefer.&lt;/p&gt;</description></item><item><title>Variables, Data Types, and Basic Operations</title><link>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-2-variables-data-types-basic-operations/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/python-mastery-2025/chapter-2-variables-data-types-basic-operations/</guid><description>&lt;h2 id="chapter-2-variables-data-types-and-basic-operations"&gt;Chapter 2: Variables, Data Types, and Basic Operations&lt;/h2&gt;
&lt;p&gt;Welcome back, future Pythonista! In Chapter 1, we got Python up and running (specifically, the latest stable version, &lt;strong&gt;Python 3.14.1&lt;/strong&gt;, as of December 2, 2025 – pretty cool, right?) and learned how to make our programs say &amp;ldquo;Hello!&amp;rdquo; using the &lt;code&gt;print()&lt;/code&gt; function. That was just a taste, though. To really make our programs do useful things, we need a way to store information and manipulate it.&lt;/p&gt;</description></item></channel></rss>