Master The Fundamentals Of Python
Published 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.39 GB | Duration: 29h 14m
Published 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.39 GB | Duration: 29h 14m
Gain a deep understanding of Python without knowledge gaps with a 300+ page book, 200+ exercises, and multiple projects
What you'll learn
Complete mastery of the fundamentals of the Python programming language without knowledge gaps
Get a 300+ page digital textbook with detailed explanations of all of the material
Practice what you've learned with more than 200 exercises with solutions
Prove your knowledge by passing a challenging Certification Exam
Learn from an expert who's published multiple books and developed popular Python libraries
Confidence to use Python to produce trusted results in a professional environment
Mastery of all the basic types and knowledge of how to access their power
Learn arithmetic and comparison operations with the basic built-in types (ints, floats, booleans)
Learn the properties of strings and how to use their wide array of methods
Learn all of the properties and methods for the built-in data types lists, tuples, sets, and dictionaries
Learn how to control the flow of your program with conditional statements and looping
Learn the ins and outs of all the built-in functions as well as how to create user-defined functions
Learn intermediate topics such as how to import modules from the standard library, opening and reading files, and exception handling
Gain a firm understanding of object-oriented programming and how to define your own classes
Learn how to build a Texas Hold'em Poker application with artificial intelligence
Requirements
No prior programming experience is required. This course transforms beginners to competent programmers
Description
Master the Fundamentals of Python is an extremely comprehensive course targeted for beginners who want to build their skills slowly and thoroughly without knowledge gaps. This course is packed full of material to ensure your understanding, regardless of your learning style, and includes the following:Interactive Video LessonsMore than 25 hours of hands-on, interactive video lessons are provided. We will be programming together in the excellent Jupyter Notebook as we complete each module. Eventually, we will graduate to using Visual Studio Code, a more professional coding environment.A Digital BookYou'll get a 300+ page downloadable PDF of the book Master the Fundamentals of Python. This allows you to access all of the course contents in a single document, even when offline.Exercises and SolutionsMore than 200 exercises with detailed solutions are available for you to practice what you've learned.ProjectsThere are several projects available where you'll build larger programs that combine together multiple different topics. Some of the projects include Choose Your Own Adventure, Tic-Tac-Toe, and Texas Hold'em Poker with artificial intelligence.Certification ExamAfter 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.About the InstructorThis course is taught by expert instructor Teddy Petrou who is author of multiple books, including:Pandas CookbookMaster Data Analysis with PythonMaster the Fundamentals of PythonBuild an Interactive Data Analytics Dashboard with PythonTeddy 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.Teddy has demonstrated 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. He holds a Master's degree in Statistics from Rice University.Course CurriculumOperatorsSyntaxObjects and typesStringsListsRanges and constructorsConditional statementsWriting entire programsLoopingList comprehensionsBuilt-in functionsUser-defined functionsTic-Tac-ToeTuples, sets, dictionariesModulesUser-defined modulesErrors and exceptionsFilesClassesTexas hold’em poker
Overview
Section 1: Getting Started
Lecture 1 Downloading Anaconda
Lecture 2 Installing Anaconda (Mac Users)
Lecture 3 Installing Anaconda (Windows Users)
Lecture 4 Opening the Anaconda Navigator
Lecture 5 Writing your First Lines of Python Code in a Jupyter Notebook
Section 2: Downloading the Course Material
Lecture 6 Creating the Dunder Data Courses Directory (Mac Users)
Lecture 7 Creating the Dunder Data Courses Directory (Windows Users)
Lecture 8 Downloading the Course Material
Lecture 9 Exploring the Course Contents
Section 3: Introduction to Jupyter Notebooks
Lecture 10 Introduction to Jupyter Notebooks
Lecture 11 Jupyter Notebook Basics
Lecture 12 Edit vs Command Mode
Lecture 13 Command Mode Keyboard Shortcuts
Lecture 14 Other Notebook Tips
Lecture 15 Markdown Basics
Lecture 16 Exiting the Browser Tab
Lecture 17 Completing Exercises
Lecture 18 Creating New Notebooks
Lecture 19 Jupyter Notebook Extensions
Lecture 20 Jupyter Notebook Summary
Section 4: Module 1 - Operators
Lecture 21 Getting Started with the Modules
Lecture 22 Arithmetic Operators
Lecture 23 More Arithmetic Operators
Lecture 24 Multiple Arithmetic Operators
Lecture 25 Change Operator Precedence with Parentheses
Lecture 26 Comparison Operators
Lecture 27 Comparison and Arithmetic Operators Together
Lecture 28 Chained Comparison Operators
Lecture 29 Unary Plus and Minus Operators
Lecture 30 Boolean Operators
Lecture 31 The or Operator
Lecture 32 The not Operator
Lecture 33 Combining Boolean and Other Operators
Lecture 34 Assigning Values to Variable Names
Lecture 35 Multiple Variables
Lecture 36 Python Comments
Lecture 37 Augmented Assignment Statements
Lecture 38 Other Operators
Lecture 39 Open Project Notebook
Lecture 40 Project Solutions
Section 5: Module 2 - What is Python?
Lecture 41 What is Python?
Lecture 42 What is a Computer Programming Language?
Lecture 43 Programming Language Implementations
Lecture 44 Specific Example of Different Implementations
Lecture 45 Language Specification
Lecture 46 Python Implementations
Lecture 47 Python Syntax
Lecture 48 Components of the Python Programming Language
Lecture 49 Whitespace and Indentation
Lecture 50 Long lines of code
Lecture 51 Python is an Interactive Language
Lecture 52 Running Entire Python Programs
Lecture 53 Why use Python?
Lecture 54 Module 2 Project
Section 6: Module 3 - Objects and Types
Lecture 55 Objects in the Real World
Lecture 56 An Introduction to Types in Python
Lecture 57 Writing Integers
Lecture 58 The Boolean Type
Lecture 59 The Float Type
Lecture 60 The Complex Type
Lecture 61 The None Object
Lecture 62 Passing Variables to the type Function
Lecture 63 Object Identity
Lecture 64 Dynamic Typing
Lecture 65 Built-in Types
Lecture 66 Object Attributes and Methods
Lecture 67 Accessing Attributes and Methods with Dot Notation
Lecture 68 What isn't an Object
Lecture 69 Module 3 Summary
Lecture 70 Module 3 Project
Section 7: Module 4 - Strings
Lecture 71 Introduction to Strings
Lecture 72 Strings Containing Quotes
Lecture 73 Strings with Escape Characters
Lecture 74 Empty Strings
Lecture 75 Unicode
Lecture 76 Operators with Strings
Lecture 77 Methods
Lecture 78 Method Chaining
Lecture 79 Find the Length of a String
Lecture 80 String Interpolation
Lecture 81 Selecting Substrings
Lecture 82 Selecting Substrings with Slice Notation
Lecture 83 Changing the Characters of a String
Lecture 84 Testing for a Substring
Lecture 85 Module 4 Summary
Lecture 86 Module 4 Project
Section 8: Module 5 - Lists
Lecture 87 Introduction to Lists
Lecture 88 Brackets have a New Meaning
Lecture 89 Lists are Data Structures
Lecture 90 Selecting List Items
Lecture 91 Mutating Lists
Lecture 92 Unexpected Behavior with Mutable Objects
Lecture 93 Confirm Objects are the Same with id Function
Lecture 94 Creating a Unique List Copy
Lecture 95 Discovering List Methods
Lecture 96 The append Method
Lecture 97 The extend Method
Lecture 98 The insert Method
Lecture 99 The remove, pop, and clear Methods
Lecture 100 The reverse and sort Methods
Lecture 101 Reversing a List with Slice Notation
Lecture 102 The count and index Methods
Lecture 103 Getting the Length of a List
Lecture 104 Addition and Multiplication Operators with Lists
Lecture 105 List Equality
Lecture 106 Check for Item Membership with the in Operator
Lecture 107 Lists of Lists
Lecture 108 Creating a String from a List
Lecture 109 Module 5 Summary
Lecture 110 Module 5 Project
Section 9: Module 6 - Ranges and Constructors
Lecture 111 Introduction to the range Object
Lecture 112 The range Constructor
Lecture 113 Viewing the Sequence Defined by range
Lecture 114 The bool Constructor
Lecture 115 The int Constructor
Lecture 116 The float Constructor
Lecture 117 The str Constructor
Lecture 118 More range Functionality
Lecture 119 Module 6 Summary
Lecture 120 Module 6 Project
Section 10: Module 7 - Conditional Statements
Lecture 121 Control Flow
Lecture 122 Python if Statements
Lecture 123 Indentation and Code Blocks
Lecture 124 else Statements
Lecture 125 elif Statements
Lecture 126 Dice Betting Game
Lecture 127 Multiple Boolean Conditions
Lecture 128 Nested Conditional Statements
Lecture 129 Ternary Conditional Operator
Lecture 130 Other Conditions
Lecture 131 Implied Truth Values
Lecture 132 Module 7 Summary
Lecture 133 Module 7 Project
Section 11: Module 8 - Writing Entire Programs
Lecture 134 Writing Entire Programs
Lecture 135 Creating a Python Program
Lecture 136 Running a Python Program
Lecture 137 Source Code Editors
Lecture 138 Downloading and Installing Visual Studio Code (New)
Lecture 139 Opening Python Files in VS Code (new)
Lecture 140 Running Python Files in VS Code (new)
Lecture 141 Running Python Files in the Terminal of VS Code (new)
Lecture 142 A Note on VS Code File Execution during the Course
Lecture 143 Creating New Python Files in VS Code
Lecture 144 Trivia Game Instructions
Lecture 145 Coding the Trivia Game
Lecture 146 Module 8 Summary
Lecture 147 Project - Choose Your Own Adventure Game
Lecture 148 Getting Started with the Choose Your Own Adventure
Lecture 149 Coding Choose Your Own Adventure
Section 12: Module 9 - Looping
Lecture 150 For-Loops
Lecture 151 For-Loops Looping through a List
Lecture 152 Looping through range Objects
Lecture 153 Example for-loops
Lecture 154 While Loops
Lecture 155 Doubling Money While Loop
Lecture 156 Finding the Square Root using Newton's Method
Lecture 157 Simple Guessing Game
Lecture 158 More Looping Control with continue and break
Lecture 159 While True then break
Lecture 160 Nested Loops
Lecture 161 Creating a Multiplication Table
Lecture 162 Generating Random Numbers
Lecture 163 Craps Game - Stage 1
Lecture 164 Craps Game - Stage 2
Lecture 165 Implementing Trivia Game with Loop
Lecture 166 Module 9 Summary
Lecture 167 Exercises 1-13
Lecture 168 Exercise 14
Lecture 169 Exercise 15
Section 13: Module 10 - List Comprehensions
Lecture 170 List Comprehensions
Lecture 171 List Comprehension Examples
Lecture 172 Conditional List Comprehensions
Lecture 173 Conditional List Comprehension Examples
Lecture 174 Ternary Conditional Operator in List Comprehensions
Lecture 175 Complex List Comprehensions
Lecture 176 Nested for-loops within List Comprehensions
Lecture 177 List Comprehension Summary
Lecture 178 Project Solutions
Section 14: Built-in Functions
Lecture 179 Intro to Functions
Lecture 180 Built-in Functions
Lecture 181 The any and all Functions
Lecture 182 The chr and ord Functions
Lecture 183 The dir Function
Lecture 184 The print Function
Lecture 185 The id Function
Lecture 186 The len Function
Lecture 187 The sorted Function
Lecture 188 Summary of Built-in Functions
Lecture 189 Project Solutions
Section 15: Module 12 - User-Defined Functions
Lecture 190 Intro to User-Defined Functions
Lecture 191 Functions that Explicitly Return a Value
Lecture 192 Calculating the Square Root of a Number
Lecture 193 Defining Functions with Parameters
Lecture 194 Defining a Function with Multiple Parameters
Lecture 195 Different Ways to Call the Function using Parameter Names
Lecture 196 Using Pre-Assigned Variables as Arguments
Lecture 197 Positional and Keyword Arguments
Lecture 198 Default Parameter Values
Lecture 199 Keyword-only Arguments
Lecture 200 Positional-only Arguments
Lecture 201 Built-in Functions with Positional-only and Keyword-only Arguments
Lecture 202 Documenting Functions with Docstrings
Lecture 203 Functions are Objects
Lecture 204 Function Attributes and Methods
Lecture 205 Some Built-in Functions are not Functions
Lecture 206 Anonymous Functions
Lecture 207 Use-Cases for Anonymous Functions
Lecture 208 The map Function
Lecture 209 The filter Function
Lecture 210 Refactoring Code
Lecture 211 Rules of Thumb for User-Defined Functions
Lecture 212 Testing Code with assert Statements
Lecture 213 User-Defined Functions Summary
Lecture 214 Project - Exercises 1-9
Lecture 215 Project - Exercises 10-13
Section 16: Module 13 - Tic-Tac-Toe
Lecture 216 Tic-Tac-Toe
Lecture 217 Create the Board
Lecture 218 Output the Board
Lecture 219 Get Player Input
Lecture 220 Change Turn
Lecture 221 Validate Open Position
Lecture 222 Place Mark on Board
Lecture 223 Check for a Row Winner
Lecture 224 Check for a Column Winner
Lecture 225 Check for Diagonal Winner
Lecture 226 Check for a Winner
Lecture 227 Check for Cats Game
Lecture 228 Check for End of Game
Lecture 229 Play the game
Section 17: Module 14 - Tuples, Sets, and Dictionaries
Lecture 230 Data Structures
Lecture 231 Tuples
Lecture 232 More on tuple Creation
Lecture 233 Ambiguous tuple Situations
Lecture 234 Converting Iterables to tuples
Lecture 235 Selecting Items from a tuple
Lecture 236 Using Operators with tuples
Lecture 237 Tuple Methods
Lecture 238 Attempting to Mutate Tuples
Lecture 239 Why use tuples when lists are more flexible
Lecture 240 Sets
Lecture 241 Sets can only Contain Hashable Objects
Lecture 242 Accessing Items in a Set
Lecture 243 Using the set Constructor
Lecture 244 Finding the Number of Elements in a set
Lecture 245 Set Membership Checking
Lecture 246 Extremely Fast Membership Checking
Lecture 247 Mathematical Set Operations
Lecture 248 Set Methods
Lecture 249 The Birthday Paradox
Lecture 250 Estimating the Probability for each Group
Lecture 251 Estimating Probabilities for Many Groups
Lecture 252 Plotting the Probabilities
Lecture 253 Dictionaries
Lecture 254 Dictionary Keys must be Hashable
Lecture 255 Dictionary Constructor
Lecture 256 Creating Empty Dictionaries
Lecture 257 Selecting Values in a Dictionary
Lecture 258 Dictionary Membership Checking
Lecture 259 Dictionary get Method
Lecture 260 Retrieving the Keys and Values Separately
Lecture 261 Get the Items as an Iterable
Lecture 262 pop and popitem Methods
Lecture 263 Mutating Dictionaries
Lecture 264 Iterating through Dictionaries
Lecture 265 Looping to Find the Average Score
Lecture 266 Tuple, Set, and Dictionary Comprehensions
Lecture 267 Dictionary Comprehension Examples
Lecture 268 Unpacking Iterables
Lecture 269 Single-line Unpacking
Lecture 270 Partial Unpacking with Star Notation
Lecture 271 The zip Function
Lecture 272 Finding the Lowest Score
Lecture 273 Module 14 Summary
Lecture 274 Module 14 Exercises
Section 18: Module 15 - Python Modules
Lecture 275 Python Modules
Lecture 276 The Random Module
Lecture 277 Different Ways to Use the Import Statement
Lecture 278 Alias Names when Importing with as
Lecture 279 Import All Names from a Module
Lecture 280 Batteries Included
Lecture 281 The re Module - Regular Expressions
Lecture 282 The datetime Module
Lecture 283 The calendar Module
Lecture 284 The time Module
Lecture 285 The collections Module
Lecture 286 The copy Module
Lecture 287 The math Module
Lecture 288 The fractions Module
Lecture 289 The statistics Module
Lecture 290 The sys Module
Lecture 291 Way More to the Standard Library
Lecture 292 Third-Party Libraries
Lecture 293 Summary - Python Modules
Lecture 294 Module 15 Exercises
Section 19: Module 16 - User-Defined Python Modules
Lecture 295 User-Defined Python Modules
Lecture 296 Creating our own Python Modules
Lecture 297 Importing a User-Defined Module
Lecture 298 Creating the my_array Module
Lecture 299 Using my_array_solutions
Lecture 300 Opening my_array in VS Code
Lecture 301 Unit Testing
Lecture 302 Running the Unit Tests
Lecture 303 Completing add_constant
Lecture 304 Sub, Mul, Div Constant
Lecture 305 The zip Function
Lecture 306 Add, Sub, Mul, and Div Arrays
Lecture 307 The Dot Product
Lecture 308 Summary Module 16
Section 20: Module 17 - Errors and Exceptions
Lecture 309 Errors and Exceptions
Lecture 310 Syntax Errors
Lecture 311 Errors vs Exceptions
Lecture 312 The KeyError
Lecture 313 The IndexError
Lecture 314 The TypeError
Lecture 315 The ValueError
Lecture 316 The Attribute Error
Lecture 317 Other Exceptions
Lecture 318 Purposefully Raising Exceptions
Lecture 319 The isinstance Bult-in Function
Lecture 320 Raising Errors on Bad Input
Lecture 321 Handling Exceptions
Lecture 322 Catching All Errors
Lecture 323 Catching Multiple Different Errors
Lecture 324 The else and finally Blocks
Lecture 325 More on Exceptions
Lecture 326 Summary
Lecture 327 Module 17 Exercises
Section 21: Module 18 - Files
Lecture 328 Files
Lecture 329 Opening and Reading Text Files
Lecture 330 Reading Continues Forward
Lecture 331 Closing a File
Lecture 332 Automated File Closing
Lecture 333 Reading in one line at a time
Lecture 334 Reading in each Line into a List
Lecture 335 Iterating through the lines in a file
Lecture 336 Reading in Files in Different Locations
Lecture 337 Reading in Non-Text Files
Lecture 338 Writing to a File
Lecture 339 Appending to Files
Lecture 340 Playing Bingo
Lecture 341 Reading in the Boards
Lecture 342 Get All Winning Board Combinations
Lecture 343 Checking the Winner
Lecture 344 Module 18 Summary
Lecture 345 Module 18 Exercises
Section 22: Classes
Lecture 346 Classes
Lecture 347 Creating New Types
Lecture 348 Creating a Car Instance
Lecture 349 Instance Methods
Lecture 350 Object-Oriented Programming
Lecture 351 Initializing an Instance
Lecture 352 The Parameter Names Don_t Need to Match the Attribute Names
Lecture 353 Mutating Attributes
Lecture 354 Changing Attributes After Instantiation
Lecture 355 Return a Value from a Method
Lecture 356 Docstrings for Classes
Lecture 357 Calling Method from Attributes within your Class
Lecture 358 Setting an Attribute to an Instance from a User-Defined Class
Lecture 359 Object Composition
Lecture 360 The Dice Class
Lecture 361 Single Responsibility Principle
Lecture 362 Craps with Classes
Lecture 363 Playing Craps from the Command Line
Lecture 364 What does if __name__ == ___main___ mean
Lecture 365 More to Classes
Lecture 366 Module 19 Summary
Section 23: Texas Hold'em Poker
Lecture 367 Texas Holdem Poker
Lecture 368 Four Rounds in a Hand
Lecture 369 The First Action
Lecture 370 Round Two - The Flop
Lecture 371 Round Three - The Turn
Lecture 372 Round Four - The River
Lecture 373 The Showdown
Lecture 374 Rules Summary
Lecture 375 Five-card Poker Hand Ranking
Lecture 376 Evaluating Hands within the Same Ranking Category
Lecture 377 Planning the Game Development
Lecture 378 The Card Class
Lecture 379 Displaying a Nice Text Output of the Card
Lecture 380 The __repr__ Special Method
Lecture 381 The __eq__ Special Method
Lecture 382 The Deck Class
Lecture 383 Making your Object Work with the Square Brackets
Lecture 384 The Hand Class
Lecture 385 The Evaluator Class
Lecture 386 Sorted Ranks
Lecture 387 The Full Evaluator Class
Lecture 388 The Player Class
Lecture 389 The Computer and Human Classes
Lecture 390 Subclasses
Lecture 391 The Poker Class
Lecture 392 Playing Texas Holdem Poker
Lecture 393 Unit Tests
Lecture 394 Project - Artificial Intelligence
Lecture 395 Exercise 1 - Calculating a Preflop Score
Lecture 396 Exercise 2 - Preflop Score List
Lecture 397 Exercise 3 - Calculating Preflop Rank
Lecture 398 Exercise 4 - Relative Hand Ranking After the Flop
Lecture 399 Exercise 5 - Implementing the Artificial Intelligence
Beginning Python programmers that desire a comprehensive path to become experts without knowledge gaps