Booking options
£82.99
£82.99
On-Demand course
14 hours 26 minutes
All levels
Master Python 3.10 from the experts with this course and demonstrate programming wizardry in Python. Go from a geek to a wizard in no time with this well-structured video course and write Python code like a pro. Learn about the often-forgotten basics and special features of programming and Python in general.
Python is a fantastic object-oriented programming language that lets you use functional and OOP paradigms. Python offers several benefits compared to other programming languages such as Java, C++, or R. It is a dynamic language, with high-level datatypes. Python is easy to learn for beginners, being more readable and intuitive. With this course, you will learn about computer architecture, programming concepts, and what terminals are. You will install and set up Python on your computer and learn about hands-on programming with Python basics, client-info application, and console IO. You will code with data types, loops, functions, classes and objects, and modules and packages. Finally, you will learn about strings, stack and data structures, pip - python package manager, virtual environments, iterables, File IO, threading and multiprocessing, and debugging. Upon completion, you can easily handle any programming project and use core Python features. Create different array data structures, lists, tuples, sets, typed arrays, stacks, queues, and priority queues. Use structural pattern matching with match-case statements in Python 3.10 and third-party packages and create virtual environments for projects. All resources are available at: https://github.com/PacktPublishing/The-Ultimate-Guide-to-Python-Programming-With-Python-3.10
Implement basic data structures and basic programming with Python
Create array structures such as a list, tuple, set, stack, and queue
Learn object-oriented programming with Python classes and objects
Use structural pattern matching with case statement in Python 3.10
Use Python REPL to write code from the terminal and test ideas
Create virtual environments for projects with third-party packages
This course is beneficial for those with some skills in Python or if you are looking to refresh your skills and advance to the next level. Even if you can use a computer, that's completely fine as the course will train you to become a professional in coding. Complete newbies who want to learn to program or even beginner Python developers seeking expertise in Python programming can ace Python with this course. The course does not have any special requirements except turning the computer on and watching and learning from the course phase-by-phase.
The interactive and demonstrative video lectures are divided into four levels of Python programming. You will start from the novice level-from computer architecture to programming concepts-and move on to progress into a newbie, coder, and finally a wizard in Python coding. You will ace object-oriented programming and each level takes you a step further to Python mastery!
Learn Python programming and ace coding from basics to developing real applications with Python * Use structural pattern matching, case statement, and Python REPL to write code from the terminal * Create virtual environments using third-party packages and use OOP with Python classes and objects
https://github.com/PacktPublishing/The-Ultimate-Guide-to-Python-Programming-With-Python-3.10
Rahul Mula is a passionate developer with expertise in Python, Flutter, and web development. He was really intrigued the first time he learned about programming and realized what could be done with it. Rahul thrives on exploring diverse technologies and crafting innovative applications. He's the mastermind behind Keyviz, a remarkable open-source tool for real-time keystroke visualization. Rahul's contributions extend to the realm of education, where he has authored books and crafted courses on Python programming, benefiting thousands of eager learners.
1. Introduction
This section outlines the curriculum of the course benefits and briefly overviews about what you will learn from the course.
1. Curriculum Overview A brief outline about the course content and what you will learn from this course. |
2. How to Program In this video, you will learn about the key principles to keep in mind before jumping into any kind of programming. |
2. Generic Programming
Video 2.1: Computers and Data
1. Computers and Data This video outlines the fundamentals of a computer's hardware that we must know about for troubleshooting. |
2. Programming Language In this video, we will briefly understand about bits and bytes of a general program and how a computer interprets your input to perform an output. |
3. Terminal Here, we will understand the concept of working on a terminal with programming and non-programming operations of a computer. |
4. Navigation In this lesson, we will look at navigating and exploring the various capabilities, applications, and folder structures of a personal computer. |
5. Terminal Exercise We will work on various exercises on the terminal by copying folders, working on text files, creating a backup directory, and so on. |
6. File Operations In this video, you will learn about how to create and edit the contents of a file. |
7. Internet In this lecture, we will explore what the Internet is and how it works more than just a network. |
8. Community Here, we will look at the resources available to help you out when having troubles with computing. |
3. Programming with Python
In this section, we will look at installing and setting up the Python programming software.
1. Python Setup You will learn to set up the Python interpreter in your computer to get started with programming. |
2. Python Basics Here, we will look at the kind of terms or language used to write code, special rules, syntaxes. |
3. Python Datatypes Understand what a data structure is, what data types are, and what are the kinds of datatypes used in Python. |
4. Console IO In the previous video, you learned about datatypes; now, we will look at inputs and outputs from the console. |
5. if Statements You will learn about the if statement in Python and how to input a statement/condition. |
6. def-Keyword Here, you will learn about functions and keywords using the (). |
4. The Container - Variables
This section discusses the naming conventions followed in Python for variables.
1. The Global Object and Built-in Functions Learn about the naming conventions followed in Python for data structures and variables. |
5. Strings
This section focuses on strings and how to create them in Python.
1. The str Data Type Let's learn about the textual data within codes and how to write them. |
2. String Operations After learning how to create a string, now we will look at performing various operations on them. |
3. String Methods You will learn about the built-in functions called methods to work on strings. |
6. Numbers
This section discusses about how various kinds of numbers are handled by Python.
1. Numerical Datatypes Let's learn about numbers such as integers, decimals, fractions, long integers, ands complex numbers. |
2. Numerical Operations After understanding all the different kinds of numbers, we will look at performing operations on these numbers. |
7. Booleans
This section focuses on true and false values.
1. True or False Values In this video, you will learn about the only two Boolean values in Python, true and false. |
8. Lists
This section illustrates about lists in Python.
1. List In this chapter, we will look at the list datatype in Python. |
2. List Operations Let's learn how to add, access, delete elements in a list with its respective access. |
9. Tuples
This section discusses about the tuples datatype.
1. Immutable list - Tuple You will learn about the tuples datatype, which is a list that cannot be altered after its creation. |
10. Sets
This section discusses about an unordered data type like lists called a set.
1. Unordered Lists - set You will learn about an unordered datatype, which is similar to a list, called the set. |
2. Set Operations Now that we have understood how to create a set, we will execute various operations on a set. |
11. Dictionary
This section focuses on the powerful datatype called Dict in Python.
1. The dict Data Type Let's learn about the dict datatype and one of the most important data structures called the dictionary. |
2. Dictionary Operations After learning how to create a dictionary, you will learn about the various operations we can perform over a dictionary. |
12. Decision Control
This section is about conditional statements used in controlling the decision of the outcome.
1. elif Statements In this video, you will learn to use the else-if condition statement to execute code. |
2. Comparison Operators Let's understand the equality operator or the == operator. |
3. Joining Conditions Using AND Keyword In this video, we will join two conditions using the AND keyword and execute. |
4. Joining Conditions Using OR Keyword In this video, we will join two conditions using the OR keyword and execute. |
5. Conditional Operators In this video, we will set conditions using the NOT keyword and execute. |
6. Ternary Operators In this video, we will use the if condition to convert complex numbers to integers. |
13. Match Case Statements
This section focuses on using match case statements to avoid redundancy of code.
1. Using Python Match Case Statements and Match Default Case We will use the match case statements to avoid redundancy and lengthy codes. |
14. While Loops
This section focuses on what a loop means and how to operate with the while loop.
1. while Statements You will learn about the while loop operation where a code executes until the condition holds true. |
2. fire() rounds Argument Here, we will look at the fire() arguments and its execution upon setting the number of iterations in a while loop. |
3. The BREAK Keyword Let's look at how to control the while loop using the BREAK keyword. |
4. The CONTINUE Keyword Let's learn about changing the control of the while loop using the CONTINUE Keyword. |
15. For Loops
This section delves over the for loop in Python.
1. Iterating over Sequence Data Types You will learn to manipulate data in a list using iterations and the for loop instead of the while loop and index. |
16. Functions
This section illustrates a lot of built-in functions used in Python.
1. Upgrading Our print() We will look at sprucing up our output so that it is more easier to look at. |
2. Optional Arguments or Parameters Let's look at the parameters that we can define to alter the way the output looks like further. |
3. Keyword Arguments You will learn to use keyword arguments to execute code and alter the behavior of the output. |
4. Arbitrary Positional Arguments - *args You will learn to use the arbitrary positional argument, which will allow us to accept any number of positional arguments. |
5. print()'s Arguments Let's look at the Keyword arguments that our print() functions also receive. |
6. log(padding) Argument We will look at the END argument in our function and execute code. |
7. Arbitrary Keyword Arguments Previously, you learned to use the arbitrary positional argument to accept any number of values; now, we will look at using arbitrary keywords to accept any number of keyword arguments. |
8. The RETURN Keyword Let's look at creating a function that performs a task; we will look at functions to return a value using the RETURN keyword. |
9. Lambda Functions You will learn about lambda functions or one-liner functions to minimize the amount of code writing. |
17. Classes
This section illustrates classes, which are templates for objects.
1. Classes and Objects In this video, we will know that classes are generally templates for creating objects, and also explain how to create our own class to create an object. |
2. Object Attributes In the previous lesson, we created our object and class; now, we will look at adding attributes to the variables in the objects or creating fields in the object. |
3. Methods or Object Functions You will learn to use keyword arguments to execute code and alter the behavior of the output. |
18. Classes
This section focuses on inheriting attributes from one class to another in objects.
1. Classes and Objects After learning about classes and how to create our own class to create an object, we will now look at inheriting the attributes from one class to another. |
2. Object Attributes In the previous lesson, we created our object and class; now, we will look at creating the cart class, which is useful for storing the objects that we have created. |
19. Error Handling
In this section, you will learn about error handling and how to minimize errors while running code.
1. Handling Errors with try and except Statements In this video, you will learn how to handle errors of code execution with the try and except statements. |
2. Custom Error Classes In the previous lesson, you learned how to handle errors; in this video, we will look at creating error classes that will handle exceptions. |
20. Modules and Packages
In this section, you will learn about error handling and how to minimize errors while running code.
1. Reusing Code with Modules In this video, you will learn to use the import statement to reuse a code instead of copy-pasting code. We will also look at creating modules to reuse code. |
2. Organizing Modules into Packages In the previous lesson, you learned how to create modules to reuse code; in this lesson, you will learn how to organize your modules into groups called packages. |
21. Project: Prankster
This section demonstrates how to create a project called Prankster.
1. Prankster Program In this video, you will learn to create an application called Prankster. |
2. Rigging-up The Prankster In the previous lesson, we created an application called Prankster; in this video, we will look at how we can rig or automate using a patch or a script file. |
22. VS Code
This section focuses on the settings of Visual Studio Code.
1. VS Code Settings and Themes This video demonstrates how to configure the settings and themes in Visual Studio Code. |
23. Revisiting Strings
This section focuses on slashes, strings, format method, f-strings, and text alignment specifications.
1. Use of Slashes in Strings In this video, you will learn about using slashes in Python strings and how we can use them to create slash codes. |
2. Percent String Substitution You will learn to concatenate a string and print the message that we created using string concatenation and a non-string datatype. |
3. string.format() Method In this video, you will learn to create a template string using the format() method. |
4. Formatted Strings or f String In this lesson, you will learn how to use the f{} to pass any value in a string. |
5. String Format Specifiers In this video, you will learn how to use the = format specifier that will do the same task as our {} to print any values. |
6. Text Alignment Format Specifier In this lesson, you will learn about the format specifier, that is, the text alignment, which we use to align our values when formatted in a string. |
24. Arrays
This section focuses on creating an array, and empty and stacked arrays. We will also look at sorting and queuing arrays.
1. Empty and One-Element Arrays In this video, you will learn how to create an empty and a single-element array. |
2. Slicing with Steps You will learn to slice or remove elements from an array using the slice method. |
3. .sort(key) - Sorting Arrays of Class Objects In this video, you will learn to sort arrays, elements, and variables in a class object. |
4. The Array Data Type In this lesson, we will look at the different sequence of elements or datatypes and the array as a datatype. |
5. Stack Data Structure In this video, you will learn about stacked elements or elements that are lined one above the other, which is a sequence of elements in an order. |
6. Queue Data Structure Here, we will look at the semantics of adding or deleting objects or modules in a queued data structure. |
7. Collections Module We will look at some other classes that can be used with our sequence datatypes, called the collection module. |
25. Revisiting Dictionary
This section focuses on creating the dictionary and modifying the elements in the dictionary to eliminate duplicates.
1. Dictionaries or Hash-Tables Hash-tables or lookup tables are nothing but dictionaries, usually compressed so that they are easier to store. |
2. MappingProxyType Similar to arrays, dictionaries come in different variations and are immutable or hashable, which can be done using the Mapping Proxytype. |
3. SimpleNamespace In this video, you will learn to use the license syntax to access a value from the dictionary using SimpleNamespace to access a value. |
4. namedtuple Class Here, we will look at creating a dictionary to store the information of an object and create a copy of this and change values. |
5. .items() Method We will look at running a for loop on the dictionary using the slice syntax and an often-forgotten method-item(). |
26. Iterators and Generators
This section focuses on lists, sequence datatypes, and iterables.
1. List Comprehension Instead of filling values in an object, we will use the for loop to get the values from a list. |
2. if Statements in List Comprehension Here, you will learn to use if statements to append an actual list and set conditions that are true. |
3. Set and Dictionary Comprehensions We will look at the for outer loop, inner loop, and run the code. You will learn to set values in the loop. |
4. Generators Here, we will look at generators or comprehension expression, which is like an iterable. |
5. Chaining Generators We will run a for loop in generators that are chained to one another to yield the length of the iterables. |
6. enumerate() Function We will look at running a for loop to print the items on an object. You will also learn to use the range or length of a function or index. |
7. zip() Function You will learn to use the for loop and the built-in generator and pass any number of iterables using a zip function. |
8. zip_longest() Function Here, you will learn how to use the maximum number of elements taken into consideration using the itertools built in. |
9. all() Function In this video, you will learn to use all function to obtain true values. |
10. any() function Like the 'all' function, we have the any function, which, if any value is true, it will return the value true, or else will display false. |
27. Iterators and Generators
This section focuses on a lot of handy functions that are in the itertools module, which can be used as iterators and generators.
1. Itertools Module This video demonstrates the various iterators and generators available in the itertools module. |
2. Cycle () Here, you will learn about the iterable class cycle (). |
3. repeat () We will look at the repeat class, which helps repeat an iterable to the number of times specified. |
4. Combinations () Here, we will look at a class that helps combine iterables together, called the combinations class. |
5. Permutations () This class allows us to sort iterables in a class in various combinations. |
6. product() In order to obtain the product of different iterables, you will learn how to use the products class. |
7. combinations_with_replacement() You will learn about a class that combines different elements in an iterable. |
8. Chain() Here, you will learn how to join the elements of an iterable. |
9. islice() To remove an element from our list, you will learn how to use the slicing syntax. |
10. compress() Here, you will learn to use the for loop and run the if check to compress the values of two iterables or lists. |
11. filter() You will learn to filter elements of a list of iterables using the filter class. |
12. filterfalse() You will learn to filter elements of a list of iterables using the filter class when the result is false. |
13. accumulate() In this video, you will learn to use the accumulate generator to accumulate some values. |
14. groupby() Learn to use the groupby from itertools to sort out variables or elements based on criteria in a list. |
28. High-Level Ops
This section focuses on various operators available in the built-in modules to perform various mathematical operations and comparisons.
1. is Operator This video demonstrates the various use of the == operator to compare two lists and when the values are the same. |
2. Shallow and Deep Copies Here, you will learn to create pointers that will point at the variables in a list or in a list of iterables. |
3. Tuple Unpacking We will look at unpacking the values or elements of a tuple. |
4. Dictionary Unpacking Here, we will look at adding values from one dictionary to another using the update method. |
5. Tuple Packing You will learn how to pack the values or elements of an iterable such as the tuple. |
6. Arguments Unpacking To set conditions for dictionaries to be updated or modified, we will use arguments that sort the elements. |
7. Packing or Unpacking You will learn to define our function using an arbitrary number of positional arguments with the * operator. |
8. Walrus := Operator Here, you will learn how to return values such as true or false or a variable assignment such as num, then there is no return value. |
9. Pipe | Operator You will learn to use the pipe operator to join dictionaries of different variables or elements. |
10. Variable Scope Here, we will define a value set to 0 and then change it using a function called num using the print num function. |
11. Python REPL You will learn to use the Python REPL that displays the version, tags and date, and variable declarations. |
29. Structural Pattern Matching
This section focuses on match case statements, matching objects, and matching dictionaries.
1. Pipe Operator in Case Statements This video demonstrates match case statements and case creation. |
2. Pattern Matching Here, you will learn to create your own terminal simulation, which will create different statements and match the list directories. |
3. Pipe Operator in Patterns You will learn more about the pipe operator and how to use the pipe operator in patterns in case statements. |
4. if Statements in Case Statements Here, we will look at using the if statement within the case statements to obtain results. |
5. Packing Operator in Case Statements You will learn how to pack the values or elements using the *args. |
6. Match Dictionary In this video, you will learn how to match a dictionary to another and compare the elements. |
7. Match Object You will learn how to use the namedtuple to create a class to compare the list of objects in a class. |
30. Functional Programming
This section focuses on functions in-depth and on functional programming.
1. Function Attributes In this video, we will use the def key and pass an argument to define our function. |
2. Recursive Functions When a function calls itself, we call it recursive, where a function can call itself in a block of code. |
3. Decorator Function Here, we will use the decorator function to set designs around our variables or elements or even unnamed strings. |
4. Creating Decorator Functions You will learn to define decorator functions, which will decorate an output line by line; you will also learn to use the REPL. |
5. functools.partial() You will learn to use the built-in functools module, which has some utility functions that can be used with normal functions. |
6. @wraps Decorator In this video, you will learn how to decorate docstrings with the @wraps decorator. |
31. Modules
This section focuses on attributes and adding documentation strings to our modules.
1. Module Attributes Just like functions, we can add documentation strings to modules, which is highly recommended. |
2. __main__ module You will learn to add a module to another module, that is, another module to your primary or main module. |
3. pip - Package Installer for Python Before starting a project and implementing a functionality by ourselves, we can check third-party sites where such functionality can be implemented. |
4. venv - Virtual Environments After learning how to install a third-party package with pip, we can then create virtual environments such as Python REPL at any directory. |
32. Modules
This section focuses on attributes and adding documentation strings to our modules.
1. Hinting Datatypes In this video, you will learn about Python type hints, Python type hint list such as a list of strings, Python type for dictionary, or dict key value. |
2. Type Hint Function Arguments and Return Type You will learn to use arguments in a function for the best use of type hinting to hint on the type of an argument. |
33. Object-Oriented Programming
This section focuses on object-oriented programming in Python.
1. object() In this lesson, we will be introduced to object-oriented programming (OOP). |
2. Naming Conventions In this video, we will look at different naming conventions for objects. |
3. Class Variables and Instance Variables In this video, you will learn about class variables and variables created on an instance. |
4. __new__() Method Here, we will look at Python __new__ versus __init__ and their differences. |
5. Singleton We will look at creating single objects for single classes. |
6. Operator Overloading You will learn to overload operators using the symbol, init, and the show classes. |
7. Iterable Classes Here, you will learn to use the for loop to obtain values from the iterable classes. |
8. Casting Type We will look at methods to convert the datatypes of one class to another datatype. |
9. Class __repr__ Here, we will look at using the built-in method for int, using underscores. |
10. getattr() and setattr() We will run functions using the get attribute and the set attribute. |
11. getattr() Use Case We will look at the importance of using the getattr() case. |
12. __getitem__() and __setitem__() You will learn to use the getitem and setitem functions with underscores. |
13. @property decorator In this video, you will learn to use the @property decorator. |
14. Property Setter and Deleter In this video, you will learn to use the @property decorator. |
15. Class __slots__ In this video, you will learn how to create tuples with classes where we cannot add any attributes to the tuples; you will learn to use the slots function to define attributes. |
16. @dataclass Decorator This video demonstrates how to create a Python dataclass. |
17. Python Enums Here, you will learn about creating classes with attributes that are not used to create objects. |
18. Sentinels We will look at creating data classes that do not hold any value. |
19. @classmethod Decorator Here, we will look at creating a class that is a pointer to a class using (cls) and change instances. |
20. @staticmethod Decorator You will learn how to use the static method that does not take a self or class. |
34. Metaclass
This section focuses on object-oriented programming in Python.
1. Type of a Class In this lesson, we will be introduced to the behind-the-scenes operations when we create a class. |
2. Creating Class with type() In this video, we will look at the different types of classes we can create using the type function. |
3. Metaclass Just like decorator functions, we can define metaclasses that execute before the class creation. |
4. ABCMeta In this lecture, you will learn about Python ABC module, ABCMeta metaclass, abstractproperty decorator, and the abstractmethod decorator. |
35. File IO
This section focuses on the input and output methods of files in Python.
1. open() File In this lesson, you will learn how to perform the operations on a file with Python. |
2. Reading File In this video, we will look at the "with" context manager to read files. |
3. Writing File We will use the read mode and then, in the writing mode, we will use the "W" string to write text. |
36. Data Preservation
This section focuses on preserving data in Python.
1. State of Data You will learn to create a terminal application to use dictionaries to store and execute functions and use a while loop with inputs as a command. |
2. JSON Data In this video, we will look at JavaScript Object Notation. |
3. JSON as a String We will save changes to normal text files in the form of strings in JSON data storage. |
37. Debugging
This section focuses on finding errors and debugging them.
1. Bare Except Statements You will learn to find bugs and fix them, called debugging, and wrap all while loop codes to fix errors. |
2. Custom Exception ExitPhonebook() You will learn to make your code more consistent while debugging. |
3. assert Statements You will learn to ensure that statements remain true while debugging errors. |
4. logging Module You will learn to use the logging module to log messages based on situations such as warnings, debugs, and so on. |
38. Threading and Multiprocessing
This section focuses on joining multiple lines of code using multiprocessing.
1. What Is Threading and Multiprocessing? You will learn to join multiple lines of code using the threading and multiprocessing methods. |
2. Threading Module You will learn how to implement threading in Python. |
3. Thread with Arguments You will learn to call arguments using threads so we do not have to wait for the code to execute. |
4. ThreadPoolExecutor Here, you will learn to create multiple threads and use a better option using the thread pool executor class. |
5. Multiprocessing Just like threading, Python has a built-in multiprocessing module, which we can use to create a process. |
6. ProcessPoolExecutor You will learn to use a process pool executor to run a lot of processes simultaneously. |
39. Tkinter
This section focuses on creating a graphical user interface using the built-in features of Python.
1. tkinter Module You will learn to use the tkinter class to create a graphical user interface using the Python built-in GUI module. |
2. Label and Button Widgets You will learn how to create labels and button widgets in our interface. |
3. Grid Layout You will learn to use grids to create templates and layouts and add paddings around our widgets. |
4. Entry Widget Here, you will learn to create a GUI using the other widgets with tkinter. |
5. .grid(columnspan) Argument Just like threading, Python has a built-in multiprocessing module, which we can use to create a process. |
6. OptionMenu Widget You will learn to create dropdown menus using the OptionMenu class. |
7. ttk - Themed Widgets You will learn to create theme-based widgets using the tkinter themes with the ttk module. |
40. Project Sedentary Alert
This section focuses on creating a graphical user interface using the built-in features of Python.
1. Introduction This section focuses on creating our own application with notifications. |
2. Project Setup You will learn how to get started for the project work. |
3. Interface: Root Window We will create variables to hold our assets for our project work. |
4. Interface: Checkbutton Here, we will define our user interface code with the use of checkbuttons. |
5. Interface: Dropdown In this lesson, we will go ahead and add a dropdown menu as well. |
6. Loading JSON Data We will fetch data loaded where we have stored the JSON data files using the interface. |
7. Updating JSON Data You will learn how to update the intervals and checkbuttons and update the values in the JSON file. |
8. Notification (For Windows) You will learn how to define the actual code to send notifications from our project. |
9. Notification (For Mac) You will learn to send notifications from macOS. |
10. Sending Alerts Here, we will define intervals using a while loop to send notifications. |
11. Threading In this lesson, we will start sending us notifications from our sedentary alert project using the notifier function with the recursive call. |
12. Application Executable You will learn to install the Py installer and then convert our Python file into an executable. |