Learn Python Programming Masterclass
 
        About Course
Learn Python Programming Masterclass – Free Online Course
This free Python programming masterclass is designed to give you a solid foundation in Python programming, fast. Whether you want to build the skills you need to get your first Python programming job, move to a more senior software developer position, get started with Machine Learning, Data Science, Django or other hot areas that Python specializes in, or just learn Python to be able to create your own Python apps quickly, this course is for you.
This course is perfect for complete beginners who have never programmed before, as well as existing programmers who want to increase their career options by learning Python. Python is one of the most popular programming languages in the world, used by huge companies like Google in mission-critical applications like Google Search. It’s also the number one language choice for machine learning, data science and artificial intelligence. To get those high-paying jobs, you need expert knowledge of Python, and that’s what you will get from this course.
By the end of the course, you’ll be able to apply in confidence for Python programming jobs. This course will teach you all the essential Python keywords, operators, statements, and expressions needed to fully understand exactly what you’re coding and why. You’ll also learn about object-oriented programming, tKInter (for building GUI Interfaces), using databases with Python, and more. We’ll also show you the difference between Python 2 and Python 3, so you understand how things work differently in each version.
This course is completely free and available on Theetay. It’s taught by Tim and Jean-Paul, who have over 70 years of combined professional programming experience. They’ll teach you industry best practices for Python programming that real employers demand. You’ll also get full support from the instructors, answering any questions you have 7 days a week.
This course is from Udemy.
Start learning today!
What Will You Learn?
- Have a fundamental understanding of the Python programming language.
- Have the skills and understanding of Python to confidently apply for Python programming jobs.
- Acquire the pre-requisite Python skills to move into specific branches - Machine Learning, Data Science, etc..
- Add the Python Object-Oriented Programming (OOP) skills to your résumé.
- Understand how to create your own Python programs.
- Learn Python from experienced professional software developers.
- Understand both Python 2 and Python 3.
Course Content
Course Introduction
- 
										A Message from the Professor
- 
										– Introduction To The Course02:02
- 
										– Remaster in Progress02:05
- 
										– Video Quality01:08
- 
										– Subtitles01:20
- 
										– How to Get Help04:46
- 
										– Important Tip Source Code02:55
Install and Setup
- 
										– Python for Windows02:32
- 
										– Installing IntelliJ IDEA for Windows02:32
- 
										– Python for Mac03:23
- 
										– Install IntelliJ IDEA for Mac02:42
- 
										– Python for Linux04:25
- 
										– Install IntelliJ IDEA for Linux02:14
- 
										– Configuring IntelliJ IDEA WINDOWS MAC and LINUX11:01
- 
										– Further configuration of IntelliJ04:41
Stepping into the World of Python
- 
										– Introduction02:16
- 
										– Our First Python Program06:36
- 
										– Printing in Python07:15
- 
										– Strings in Python07:23
- 
										– The Escape Character07:36
- 
										– More on Escape Characters in Strings03:49
- 
										– Variables and Types07:25
- 
										– Python is a Strongly Typed Language04:50
- 
										– Numeric Data Types in Python03:47
- 
										– Numeric Operators05:33
- 
										– Expressions05:17
- 
										– Operator Precedence07:14
- 
										– The str String Data Type05:54
- 
										– Negative Indexing in Strings04:08
- 
										– Slicing09:56
- 
										– Slicing with Negative Numbers02:41
- 
										– Using a Step in a Slice07:17
- 
										– Slicing Backwards05:05
- 
										– Challenge Solution and Slicing Idioms05:14
- 
										– String Operators08:28
- 
										– String Replacement Fields11:03
- 
										– String Formatting10:50
- 
										– fstrings03:38
- 
										– Python 2 String Interpolation05:21
- 
										– Section Summary00:59
Program Flow Control in Python
- 
										– Introduction to Blocks and Statements10:13
- 
										– if Statements09:37
- 
										– elif04:53
- 
										– Using a Debugger in IntelliJ or Pycharm10:20
- 
										– More on if elif and else04:59
- 
										– if elif and else in the Debugger04:00
- 
										– Adding a Second Guess06:18
- 
										– Conditional Operators08:31
- 
										– Challenge Solution02:32
- 
										– Using and or in Conditions05:10
- 
										– Simplify Chained Comparison04:39
- 
										– Boolean Expression True and False07:48
- 
										– Truthy Values04:30
- 
										– in and not in06:46
- 
										– if Challenge00:59
- 
										– Solution to if Challenge03:22
- 
										– for loops06:09
- 
										– Stepping through a for loop07:45
- 
										– for loops Extracting Values from User Input05:10
- 
										– Iterating Over a Range03:08
- 
										– More About Ranges04:25
- 
										– Nested for loops06:30
- 
										– continue07:27
- 
										– break06:51
- 
										– Initialising Variables and None04:31
- 
										– while loops06:13
- 
										– More on while loops06:08
- 
										– Break in a while loop03:48
- 
										– The Random Module and Import09:27
- 
										– Challenge Solution05:26
- 
										– Binary Search05:20
- 
										– Hi Lo Game08:40
- 
										– Pass Statement and Complete the Hi Lo Game04:16
- 
										– Testing the Hi Lo Game06:38
- 
										– Augmented Assignment07:42
- 
										– PEP8 The Python Style Guide08:29
- 
										– Refactoring Code03:31
- 
										– else in a loop05:21
- 
										– else in the Hi Lo Game05:06
- 
										– Conditional Debugging04:43
- 
										– Another else Example01:48
- 
										– Section Summary and Challenge03:19
- 
										– Section Challenge Solution03:50
- 
										– Optional Extra Challenge Solution04:55
- 
										– Changing the Condition01:47
Lists and Tuples
- 
										– Introduction to Sequence Types02:55
- 
										– Lists04:24
- 
										– Immutable Objects06:31
- 
										– Mutable Objects04:39
- 
										– Binding Multiple Names to a List03:24
- 
										– Common Sequence Operations04:44
- 
										– Operations on Mutable Sequences03:41
- 
										– Appending to a List07:41
- 
										– Mini Challenge Solution02:07
- 
										– Iterating Over a List04:12
- 
										– The enumerate Function04:28
- 
										– Improving our Code08:22
- 
										– Removing Items from a List05:10
- 
										– Sorting Lists04:28
- 
										– Builtin Functions03:48
- 
										– Sorting Things09:57
- 
										– CaseInsensitive Sorting04:40
- 
										– Creating Lists09:16
- 
										– Replacing a slice05:54
- 
										– Deleting Items from a List07:29
- 
										– Safely removing values from a list02:53
- 
										– Removing the High Values06:33
- 
										– Test Test and Test Then Test Again03:20
- 
										– Testing the Program03:47
- 
										– Removing Items from a List Backwards05:54
- 
										– The Reversed Function05:04
- 
										– Algorithms Performance08:58
- 
										– Summary so far02:50
- 
										– Nested Lists Code Style09:13
- 
										– Processing Nested Lists04:42
- 
										– Solution to nospam Challenge03:36
- 
										– Function Signatures03:35
- 
										– print revisited06:24
- 
										– The join Method07:44
- 
										– The split Method09:09
- 
										– Solution to Mini Challenge05:43
- 
										– Tuples04:45
- 
										– Tuples are Immutable07:21
- 
										– Unpacking a Tuple06:29
- 
										– Practical uses for Unpacking Tuples04:06
- 
										– More Unpacking06:09
- 
										– Nested Tuples and Lists05:11
- 
										– Solution to Unpacking Challenge03:10
- 
										– Nesting Further03:44
- 
										– Nested Data Structures05:37
- 
										– Nested Indexing04:20
- 
										– Simple Jukebox Demonstration02:25
- 
										– Simple Jukebox Importing Data05:05
- 
										– Simple Jukebox The Code07:04
- 
										– Constants in Python08:53
- 
										– Finishing the Code05:37
- 
										– Challenge00:43
- 
										– Challenge Solution04:03
- 
										– Summary02:47
Functions An Introduction
- 
										– Introduction02:38
- 
										– Defining a function05:35
- 
										– Program flow when calling a function04:25
- 
										– Parameters and arguments04:41
- 
										– Debugging with parameters07:59
- 
										– Palindromes07:13
- 
										– Palindrome challenge solution02:59
- 
										– Sentence challenge solution05:28
- 
										– Functions calling functions02:05
- 
										– Returning values08:04
- 
										– getinteger Challenge solution04:15
- 
										– Returning None02:58
- 
										– Functions that perform actions07:59
- 
										– Handling invalid arguments07:22
- 
										– width challenge solution02:07
- 
										– Default parameter values02:34
- 
										– Keyword arguments06:22
- 
										– Docstrings06:03
- 
										– Writing a Docstring07:50
- 
										– How professional is that06:13
- 
										– Fibonacci Numbers03:52
- 
										– Writing a fibonacci function08:07
- 
										– Function annotations and type hints07:16
- 
										– Function annotations with default values03:32
- 
										– A history lesson05:34
- 
										– Printing in colour07:50
- 
										– Running your program like a user05:55
- 
										– Windows Only Installing prerelease version of colorama07:28
- 
										– colorama module and virtual environments08:10
- 
										– Activating a virtual environment06:01
- 
										– A function to test our HiLo game09:59
- 
										– Counting correct guesses04:47
- 
										– Playing Fizz Buzz04:03
- 
										– Playing Fizz Buzz Solution06:27
- 
										– args07:38
- 
										– colourprint with multiple arguments05:29
- 
										– Rules for variable number of arguments02:18
- 
										– Defining different parameter types06:46
- 
										– Section Summary03:35
Dictionaries and Sets
- 
										– Introduction01:34
- 
										– What is a dictionary08:19
- 
										– Iterating over a dictionary06:38
- 
										– Adding items to a dictionary04:06
- 
										– Changing values in a dictionary03:38
- 
										– Removing items from a dictionary07:08
- 
										– Using in with a dictionary07:58
- 
										– Dictionary menu challenge solution08:32
- 
										– Adding items to a dictionary04:59
- 
										– Smart fridge04:23
- 
										– Whats for tea09:19
- 
										– Using several dictionaries together05:45
- 
										– Checking the pantry04:24
- 
										– Checking quantities choosing a data structure05:19
- 
										– Checking quantities the code06:24
- 
										– Solution Create a shopping list challenge06:51
- 
										– Wrong decisions dont have to be fatal05:42
- 
										– The setdefault method10:05
- 
										– APIs and a mobile phone demo08:07
- 
										– The dict documentation08:38
- 
										– The remaining dict methods04:37
- 
										– The dict update method06:28
- 
										– The dict values method08:06
- 
										– References to mutable objects05:39
- 
										– Shallow copy05:46
- 
										– Shallow copy stepbystep03:47
- 
										– Deep copy05:11
- 
										– Simple deep copy solution08:38
- 
										– Hash functions07:56
- 
										– A really bad hashing function08:45
- 
										– Hash tables06:57
- 
										– Completing our simple dictionary implementation05:07
- 
										– Hash functions and security03:49
- 
										– hashlib the secure hash module12:11
- 
										– Introduction to AndroidTim02:56
- 
										– Introduction to sets06:12
- 
										– Python sets04:48
- 
										– Implications of sets being unordered04:56
- 
										– set membership08:09
- 
										– Testing set membership is fast07:15
- 
										– Adding items to a set05:42
- 
										– Using a set to remove duplicate values06:21
- 
										– Deleting items from a set08:17
- 
										– The discard method05:24
- 
										– The remove method10:27
- 
										– The pop method04:41
- 
										– set union05:32
- 
										– Set union in practice04:19
- 
										– Union update02:57
- 
										– Advantage of the set operation methods over the operators05:03
- 
										– Set intersection05:36
- 
										– Set intersection in practice05:56
- 
										– Set difference02:19
- 
										– Set difference in practice02:58
- 
										– Set symmetric difference06:06
- 
										– subsets and supersets03:04
- 
										– subsets and supersets in Python06:47
- 
										– Practical application of subsets and supersets08:06
Reading and writing files in Python
- 
										– Introduction01:44
- 
										– Files and directories10:38
- 
										– Introduction to the command prompt or terminal06:06
- 
										– Paths11:43
- 
										– Text files02:27
- 
										– Reading from a text file10:38
- 
										– Opening a file using with03:11
- 
										– read readline and readlines08:24
- 
										– strip lstrip and rstrip06:58
- 
										– removeprefix and removesuffix in Python 3905:13
- 
										– Parsing data in a text file05:53
- 
										– Working with text data06:29
- 
										– Solution to capital city challenge05:58
- 
										– Dictionary values with multiple keys03:23
- 
										– Printing data to a text file04:36
- 
										– Writing data to a text file09:04
- 
										– File modes04:59
- 
										– Unicode a brief history06:33
- 
										– Unicode in Python04:06
- 
										– File encodings10:22
- 
										– Serializing data using JSON07:38
- 
										– Limitations of JSON06:08
- 
										– Practical application parsing JSON data07:44
- 
										– Practical application parsing JSON data from the internet08:04
- 
										– The CSV format06:47
- 
										– Reading a CSV file07:52
- 
										– quoting in a CSV file05:38
- 
										– Sniffer and Dialect06:41
- 
										– CSV Dialect05:45
- 
										– Writing a CSV file04:10
- 
										– The csv DictReader03:20
- 
										– Solution to DictReader challenge06:10
- 
										– Field names with DictReader and DictWriter08:01
- 
										– Reading and writing multiple files04:34
- 
										– The csv DictWriter07:38
- 
										– The zip function07:41
- 
										– Reading and writing to the same text file08:17
- 
										– Solution to parsing functions challenge07:21
- 
										– The recordinvoice function07:55
- 
										– Using the recordinvoice function09:15
- 
										– seek and tell08:24
- 
										– Improving the recordinvoice function04:35
- 
										– Working with binary files bytes and bytearray11:05
- 
										– Reading a bitmap file11:44
- 
										– Little endian and big endian03:21
- 
										– Making sense of binary data10:06
- 
										– Reading tags in an mp3 file08:04
- 
										– The ID3v2 specification07:18
- 
										– The code11:40
- 
										– Filling in the blanks10:12
- 
										– Extracting images14:17
- 
										– Testing our readid3 program05:49
- 
										– Checking the hash of a file06:03
- 
										– End of Remaster01:21
Modules and Functions in Python
- 
										– Introduction to the Section00:25
- 
										– Modules and import15:03
- 
										– The standard Python library09:14
- 
										– WebBrowser Module22:58
- 
										– Time and DateTime in Python17:36
- 
										– Time Continued and Challenge11:08
- 
										– Timezones14:41
- 
										– Check Path In Windows06:38
- 
										– Check Path on a Mac03:19
- 
										– Installing the pytz module WindowsMacLinux05:37
- 
										– Using Timezones13:21
- 
										– More on Timezones17:22
- 
										– Timezone Challenge11:54
- 
										– Introduction to Tkinter12:29
- 
										– TkInter Pack Geometry Manager13:41
- 
										– TkInter Grid Geometry Manager12:58
- 
										– Advanced GUI Example Part 117:13
- 
										– Advanced GUI Example Part 214:43
- 
										– Advanced GUI Example Part 318:09
- 
										– Tkinter Challenge14:57
- 
										– Functions in Python15:15
- 
										– Functions Part 212:07
- 
										– Functions Part 310:03
- 
										– Parabola More on Functions14:25
- 
										– Scope in Functions13:02
- 
										– Fix Function and Draw Circles12:52
- 
										– Enhanced Circles and Challenge10:19
- 
										– Blackjack Setup13:42
- 
										– Load Cards13:45
- 
										– Deal Cards08:50
- 
										– Global Variables13:08
- 
										– Global Keyword16:58
- 
										– Test Blackjack Game12:55
- 
										– Blackjack Challenge19:45
- 
										– Importing Techniques20:47
- 
										– Underscores in Python code17:25
- 
										– Namespaces more on Scope and Recursion16:07
- 
										– Recursion with OS Module and Filesystem and Nonlocal keyword13:37
- 
										– Nonlocal keyword Free and LEGB17:07
Object Oriented Python
- 
										– Object Orientated Programming and Classes15:01
- 
										– Instances Constructors Self and more15:04
- 
										– Class Attributes10:28
- 
										– Methods Part 114:37
- 
										– Methods Part 214:19
- 
										– Non Public and Mangling11:53
- 
										– DocStrings and Raw Literals15:11
- 
										– Album class and More on DocStrings13:42
- 
										– Artist class and import Albums15:56
- 
										– Load data and Write Checkfile14:42
- 
										– Compare Files and Algorithm Flowcharts11:46
- 
										– Implement Revised LoadData Algorithm14:02
- 
										– Write OOP Version12:29
- 
										– Getters and Properties09:42
- 
										– Remove Circular References Challenge06:02
- 
										– Getters and Setters15:59
- 
										– Data Attributes and Properties14:31
- 
										– Alternate Syntax for Properties05:06
- 
										– Inheritance15:00
- 
										– Subclasses and Overloading14:10
- 
										– Calling Super Methods11:16
- 
										– Changing Behavior of Methods09:31
- 
										– Overriding Methods16:18
- 
										– Inheritance Challenge11:38
- 
										– Polymorphism11:35
- 
										– Duck Test07:06
- 
										– Composition18:57
- 
										– Composition Continued11:19
- 
										– Test Code and Challenge10:37
- 
										– Aggregation12:52
Using Databases in Python
- 
										– Introduction to Databases05:32
- 
										– Database Terminology10:33
- 
										– Sqlite3 Install on Windows08:16
- 
										– Sqlite3 Install on a Mac02:15
- 
										– SQLite3 Install on Ubuntu Linux02:46
- 
										– Introduction to SQLite11:15
- 
										– More with SQL using SQLite10:42
- 
										– Querying data with Sqlite16:04
- 
										– Order by and Joins13:12
- 
										– More complex Joins11:44
- 
										– Wildcards and Views15:17
- 
										– Housekeeping and the Challenge14:15
- 
										– SQL in Python13:14
- 
										– Connections Cursors and Transactions18:19
- 
										– SQL Injection Attacks12:27
- 
										– Placeholders and Parameter Substitution09:04
- 
										– Exceptions17:45
- 
										– Exceptions Challenge13:51
- 
										– Exceptions Continued14:49
- 
										– Raising Exceptions12:40
- 
										– More on Exceptions09:27
- 
										– Exceptions and TODO15:54
- 
										– Rolling back Transactions12:36
- 
										– Adding Database code to the Account Class14:40
- 
										– GUI Database Editing Overview01:33
- 
										– Ultimate Edition Database View14:35
- 
										– Update Deposit and Withdrawal Methods13:42
- 
										– Displaying Time in Different Timezones10:55
- 
										– SQLite3 strftime Function13:17
- 
										– Challenge13:29
- 
										– Problems Storing Timezones04:26
- 
										– Rolling Back Transactions16:38
- 
										– Simple Database Browser19:47
- 
										– Scrollbars09:49
- 
										– Star Args14:36
- 
										– Kwargs09:12
- 
										– More on KWArgs16:57
- 
										– Scrollable Listbox12:49
- 
										– Populating a Listbox from a Database10:04
- 
										– Show Songs from Album06:10
- 
										– The DataListbox Class Code16:35
- 
										– Linking our DataListBoxes11:34
- 
										– Linking our DataListBoxes Continued15:04
- 
										– DataListbox Challenge17:28
Generators Comprehensions and the timeit module
- 
										– Introduction00:43
- 
										– Generators and Yield15:05
- 
										– Next and Ranges06:33
- 
										– Generator Examples Fibonacci numbers and Calculating Pi18:30
- 
										– The oswalk Generator16:14
- 
										– Searching the Filesystem16:14
- 
										– Reading Mp3 Tags19:24
- 
										– List Comprehensions18:12
- 
										– List Comprehensions and SideEffects08:15
- 
										– Challenge Solutions09:54
- 
										– Conditional Comprehensions11:54
- 
										– Conditional Expressions11:48
- 
										– Challenges03:03
- 
										– Challenge 1 Solution04:29
- 
										– Challenge 2 Solution11:49
- 
										– Nested Comprehensions11:51
- 
										– Nested Comprehensions Challenge14:58
- 
										– The timeit Module11:50
- 
										– More on timeit12:22
- 
										– timeit Continued and Challenge13:53
- 
										– timeit Challenge10:51
- 
										– Map Intro08:59
- 
										– Map Challenge Completion07:09
- 
										– The Filter Function08:17
- 
										– The Reduce Function07:40
- 
										– any and all10:42
- 
										– Named Tuples10:52
- 
										– any and all with Comprehensions11:18
Big O notation
- 
										– Big O notation08:38
- 
										– Big O tables and graphs07:11
- 
										– Bubble sort14:13
- 
										– Big O of Bubble sort and an optimisation05:23
- 
										– Big O of our improved Bubble sort04:47
- 
										– Bubble sort optimisation05:36
- 
										– Best worst and average cases03:01
- 
										– Big O summary02:42
Section 9 Remaster in Progress
- 
										– Introduction to the section03:25
- 
										– The turtle module10:08
- 
										– Importing specific objects04:00
- 
										– Namespaces and global scope06:21
- 
										– Local scope05:40
- 
										– Builtins07:45
- 
										– Nested functions03:40
- 
										– Enclosing scope03:25
- 
										– A little white lie or an oversimplification03:12
- 
										– Changing the value of a free variable07:24
- 
										– Investigating changes to a free variable06:24
- 
										– The nonlocal keyword04:22
- 
										– The global keyword09:58
- 
										– Importing and the global namespace11:44
- 
										– I nearly forgot02:30
- 
										– import04:23
- 
										– if name main06:11
- 
										– An optimisation you may see in code07:08
- 
										– The webbrowser module05:49
- 
										– Dates and times in Python03:25
- 
										– The datetime modules date class11:13
- 
										– timedelta objects08:06
- 
										– The datetime modules time class15:32
- 
										– datetimedate and another note about importing06:33
- 
										– Aware and naive times05:54
- 
										– zoneinfo backport05:00
- 
										– timezone objects10:46
- 
										– Timezone challenge solution13:40
- 
										– Some behaviour you might not expect09:14
- 
										– Perform arithmetic in UTC most of the time10:03
Bonus Including Slides
- 
										– Introduction to Databases05:32
- 
										– Database Terminology10:33
- 
										– Sqlite3 Install on Windows08:16
- 
										– Sqlite3 Install on a Mac02:15
- 
										– SQLite3 Install on Ubuntu Linux02:46
- 
										– Introduction to SQLite11:15
- 
										– More with SQL using SQLite10:42
- 
										– Querying data with Sqlite16:04
- 
										– Order by and Joins13:12
- 
										– More complex Joins11:44
- 
										– Wildcards and Views15:17
- 
										– Housekeeping and the Challenge14:15
- 
										– SQL in Python13:14
- 
										– Connections Cursors and Transactions18:19
- 
										– SQL Injection Attacks12:27
- 
										– Placeholders and Parameter Substitution09:04
- 
										– Exceptions17:45
- 
										– Exceptions Challenge13:51
- 
										– Exceptions Continued14:49
- 
										– Raising Exceptions12:40
- 
										– More on Exceptions09:27
- 
										– Exceptions and TODO15:54
- 
										– Rolling back Transactions12:36
- 
										– Adding Database code to the Account Class14:40
- 
										– GUI Database Editing Overview01:33
- 
										– Ultimate Edition Database View14:35
- 
										– Update Deposit and Withdrawal Methods13:42
- 
										– Displaying Time in Different Timezones10:55
- 
										– SQLite3 strftime Function13:17
- 
										– Challenge13:29
- 
										– Problems Storing Timezones04:26
- 
										– Rolling Back Transactions16:38
- 
										– Simple Database Browser19:47
- 
										– Scrollbars09:49
- 
										– Star Args14:36
- 
										– Kwargs09:12
- 
										– More on KWArgs16:57
- 
										– Scrollable Listbox12:49
- 
										– Populating a Listbox from a Database10:04
- 
										– Show Songs from Album06:10
- 
										– The DataListbox Class Code16:35
- 
										– Linking our DataListBoxes11:34
- 
										– Linking our DataListBoxes Continued15:04
- 
										– DataListbox Challenge17:28
- 
										– Bonus Downloads including slides05:01
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.
 
				 
 