Master the fundamentals of Python with 300+ pages of text, 25+ hours of video content, 170 exercises, multiple projects, and detailed solutions.
Gain a deep understanding of the Python programming language by learning all the precise details and best practices from expert instructor Ted Petrou.
This course contains 300+ engaging video lessons along with 300+ pages of formal text covering best practices for using Python. Each topic is presented so that you too can become an expert.
Reading texts or listening to lectures give the false impression of learning. To demonstrate learning, you must be able to complete tasks on your own. Master the Fundamentals of Python comes with 170 exercises and detailed solutions along with several longer and more complex projects.
After covering all of the material in the course, you will be given a challenging certification exam to prove your mastery of the material. Passing this exam awards you a certificate of completion.
You will be given detailed instructions on how to install python onto your machine and set up an environment to run all the code within the book.
We will be using the excellent Jupyter Notebook to run most of the code. It provides an interactive coding environment to quickly execute code, get feedback, and make notes. You'll be provided a detailed tutorial of how to use Jupyter Notebooks.
Every value in Python is an object and all objects have a type. We begin by learning how to create 'basic' types such as booleans, integers, and floats.
The simplest and most straightforward actions we can perform with these basic types are with operators. Most operators are one or two non-alphanumeric symbols that use two values (arguments) to produce a new value. You will learn about arithmetic, comparison, and boolean operators.
In order to reuse the result of an operation, we need to save the result. In python, we use assignment statements to assign this result to a name. We refer to these names as variables or variable names.
Strings are a more complex type of object and consist of a sequence of characters. Strings are the first types of objects where we use methods to harness their power. We also learn about how to select subsets of strings using slice notation.
Lists are sequences that may contain any number of other objects of any type. They are an important data structure used frequently in most python programs and are mutable (able to be changed).
Ranges are the first types of objects covered that must be created with its constructor. You will learn how to create range objects and then learn how to create all of the previous types covered using their own constructor.
Normal flow of python programs occurs by executing the very next line of code under the current line beginning at the top. We can change this normal flow with if/else statements and for/while loops. You will learn from practical examples, such as simulating a game of Craps.
Functions allow us to reuse an entire block of code by labeling it with a name and help avoid repeating the same code over and over. You will learn how to use several built-in functions as well as how to create user-defined functions.
Python has several flexible built-in data structures that give us tremendous power to complete many tasks without the need to build them ourselves. Tuples, sets, and dictionaries are all different containers of data that we will explore.
Up until this part of the course, all of our Python commands have come from parts of the language that are built-in and immediately available to the interpreter. The standard library, which comes shipped with every Python installation, has many modules that contain more objects to enhance our programs. You will learn how to access these other objects with import statements. You will also learn how to develop your own modules.
Exceptions are raised during a program whenever execution of the program is unable to continue. You will learn about the built-in exceptions, how they are raised, how to catch them, and how to raise them in your own programs.
Reading and writing data to an external file is a less-frequent but still important command. You will learn how to read and write files with the built-in `open` function.
Although you can write complex programs by only using the built-in types, you can write much more effective programs by defining classes to create your own types.
All components of the course will be required to build an intelligent Texas Holdem Poker Application. You will define several Python classes to handle a card, deck, hand, five-card poker evaluation, computer and human players, and logic for playing the game.
This course is taught by Ted Petrou, an expert at Python, data exploration and machine learning. He is the author of multiple highly rated texts including:
Ted has taught hundreds of students Python and data science during in-person classroom settings. He sees first hand exactly where students struggle and continually upgrades his material to minimize these struggles by providing a simple and direct path forward.
Ted is one of the foremost authorities on using the pandas library to do data analysis. His blog posts have totaled well over 1 million views. He is also a prolific contributor on Stack Overflow having answered over 400 questions. He is an enthusiastic instructor and dedicates his time to helping students at their desk during exercises to ensure understanding.
Ted demonstrates his deep fluency in Python by developing open source Python libraries and is the creator of dexplo, a suite of data science packages that include bar_chart_race, dexplot, jupyter_to_medium, and dataframe_image.
Ted holds a Master's degree in Statistics from Rice University.
Over 300 video lessons of each section of the course help walk you through all of the content. These are interactive videos where you will code along with Ted. You'll get the chance to reproduce the same code in the lessons and explore on your own. See the sample video below, "Selecting List Items", from the chapter on lists.
You are purchasing a digital download along with access to all videos currently produced. The digital download includes the following:
Master the Fundamentals of Python does not assume any prior programming experience. The only thing you need to get started is a modern computer that runs a Windows, macOS, or Linux operating system.