
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Discover the course structure, study Python language basics—variables, operators, flow control, loops, and functions—and guide you from novice to expert through object oriented programming, practice, exercises, and projects.
Explore how the course is organized into sections with introductions and bite-size concepts. Practice reinforces learning through exercises, challenges, and solutions to help you internalize Python development skills.
Understand the Udemy review system and its impact on course visibility in a competitive marketplace. Provide feedback to improve the course and aim for 5-star reviews if you enjoyed it.
Tailor your learning with this course, designed for complete beginners and advanced Python developers alike. Follow step-by-step guidance, skip known topics, and practice with exercises to build software development skills.
Develop proactive problem-solving by reading and understanding code, then debugging step by step. Use Google and Stack Overflow to find solutions, and ask questions in Udemy Q and A.
Download python 3 from python.org for Windows, choose the 64-bit executable installer, install with default parameters, and verify with python -V in a command prompt.
Learn how to install Python 3 on a Mac OS X by downloading from python.org, running the installer with default settings, and verifying the installation in Terminal with python3 -V.
Install the PyCharm community edition on Windows or Mac to write Python programs, using debugging, auto completion, and auto formatting.
Learn to write and run your first Python command, get an editor overview with tips on creating files, running code, and using comments.
Kick off Python development by creating a new project and writing the first hello world program with print, learning Python syntax, strings, and running code in the editor.
Explore the editor layout, manage files and console outputs, test code quickly in the Python console, run files and customize preferences and keyboard shortcuts to speed Python development.
Learn how to use Python comments to document code and temporarily disable lines with a hash. Discover commenting techniques, syntax errors when misused, and keyboard shortcuts to toggle comments.
Explore strings and variables in Python, learn string construction and escape characters, and cover variable naming, string formatting, and basic string functions to build simple programs.
Master Python strings by learning how to create, print, and concatenate them using single or double quotes, and use triple-quoted multi-line strings.
Explore escape characters in strings, using backslash sequences like tab and newline to alter output. Learn to escape quotes and backslashes, and use hex values for characters.
Practice string handling through printing messages, escaping backslashes and quotes, and using newlines and tabs with triple-quoted and regular strings, including a bunny character art.
Learn how Python uses variables as containers to store numbers and strings, perform operations like addition and concatenation, print values, and reassign or assign multiple variables at once.
Discover how to name variables in Python by following rules and conventions: allowed characters, starting with a letter or underscore, use underscores, case sensitivity, booleans, and dunder variables.
Define variables product_amount and product_price, multiply them to print the total price, then compute a circle area with radius 16 using pi, and print the result.
Explore how a character forms a string and how to access characters using zero-based indices. Learn positive and negative indexing with hello world, and avoid index out of range errors.
Learn how to format strings in Python by combining price, amount, and total using the format method, including curly braces, positional indexes, keys, and width specifiers for clean output.
Master f-strings, which embed expressions in braces for runtime substitution and support multi-line messages. Compare f-strings with dot format, note Python 3.6+ requirement, and Udemy's 3.5 constraint.
Practice string formatting using variables for animals and lottery shares, comparing traditional formatting and f-strings to print clear shelter counts and per-person prize messages.
Learn how to manipulate strings using split, upper, lower, replace, find, and length functions, with practical examples that show splitting by spaces or characters and transforming text.
Practice essential string functions in Python, including replacing substrings, capitalizing names, finding their positions, and printing formatted results with f-strings.
Explore how expressions enhance python flow control by practicing arithmetic and logical expressions, ranges, and truthiness to inform if statements and loops.
Discover how to read user input in Python using input(), store it as a string in a data variable, and print a formatted message.
Convert the user input string into a number using the int method, then calculate the total as price times the number of products bought, assuming correct input for exercises.
Practice handling user input in Python by prompting for a name to print a personalized greeting and converting a numeric input to int to display a number multiplied by five.
Generate pseudo random integers in Python by importing the random module and using random.randint with a defined minimum and maximum value, inclusive.
Practice generating random numbers to select a letter by length, using zero-based indexing. Multiply a birth year by a random number and divide by another, printing the result.
Learn how to debug Python programs by setting breakpoints, running in debug mode, and inspecting variables; step through code, resume, and navigate between breakpoints to find issues.
Explore numbers and number types in Python development, overviewing their use, conversion between types, and a crucial non-numeric value that can impact your code.
Explore how Python uses numbers, integers, positives, negatives, and large values, alongside binary, octal, and hexadecimal forms, with variable assignments, readability underscores introduced in Python 3.6, and practical print examples.
Explore Python's number types: integers, floats, and complex numbers, and use the type function to identify examples like seven, minus thirty-five point five, and 2+5j.
Practice handling numbers and number types in Python by creating integer and float variables, printing values and types with f-strings, calculating rates, and verifying results.
Learn how to convert between Python types using int, float, complex, and str, including converting between strings, numbers, and handling precision losses and type errors.
Explain how None represents a lack of value in Python, its None type, and why it differs from zero or empty strings, plus guarding against None causing errors.
Practice converting user input into int, float, complex, and string, and explore type casting with a pi example to demonstrate conversion results.
Explore arithmetic and assignment operators in Python, then learn boolean values, logical and comparison operations, followed by identity, membership, and bitwise operators, all tied to variables and numbers.
Master arithmetic operators, including addition, subtraction, multiplication, and division, and learn modulus, exponentiation, and floor division with examples; note that strings only support addition, and floating point types are supported.
Explore assignment operators in Python, including the equals sign and augmented operators like plus equals, minus equals, multiply equals, divide equals, modulus, power, and floor division, with stepwise examples.
Practice arithmetic operators by evaluating addition, subtraction, multiplication, and division with sample values, and explore modulus, using real examples like meat cost and tripling bank amounts.
Master boolean concepts by exploring true and false values, memory representation, and decision making with if statements and logical operations.
Explore how comparison operators produce boolean results using the double equals sign for equality, not equal, greater than, less than, and their inclusive forms, with examples 9 and 25.
Explore how logical operators and, or, and not combine boolean expressions to yield true or false results. See how x and y examples with comparisons illustrate their behavior.
Practice applying Python logical operators to evaluate boolean expressions, using and, or, and not, with true and false, and print results using f-strings.
Practice more logical operators in Python with exercises that combine and, or, and comparison expressions. See how input values drive boolean outcomes like a child getting a new toy.
Explore python's identity and membership operators, including is and is not, and in and not in, with string examples and notes on future coverage of objects and collections.
Explore bitwise operators in Python, including and, or, xor, not, and left and right shifts, with practical examples and their use in fast, bit-level operations.
Explore Python collections in this introductory section, examining why we need them, what types exist, how they differ, and how iterators relate to working with a group of elements.
Explore how collections organize data in Python and enable scalable tasks like sending emails to multiple clients via for loops.
Learn Python collections as data types that group elements, including empty collections, lists (ordered and modifiable), tuples (immutable), sets (unique and unordered), and dictionaries with unique keys and duplicable values.
Explore the concept of iterators and iterables, and learn how strings, lists, and dictionaries provide iterators to traverse elements using next and apply operations across a collection.
Master lists in Python by creating them, accessing elements by index, updating, adding, and removing items, and using list functions, including nested lists for everyday programming tasks.
Learn Python lists as ordered, modifiable collections that allow duplicates. Create them with square brackets, access items by zero-based indices (including negative indices), and observe that order is preserved.
Access list elements by index from zero, and handle index out of range errors, use negative indexes, and apply ranges with inclusive start and exclusive end.
Learn to update list values in Python by assigning to a single index and by slicing to replace multiple elements using end-exclusive ranges.
Practice lists with indexing, slicing, and printing by building an animal list and a customer list, printing specific elements and greetings, and using minus one to access the newest member.
Explore common Python list functions such as len, append, insert, in, remove, pop, del, and clear, with practical examples on managing elements, handling errors, and memory considerations.
Explore the full spectrum of Python list functions, including append, clear, insert, pop, reverse, and count. See official documentation and try them hands-on to master future methods in Python development.
Practice list functions by inserting and removing contestants, checking list length, and replacing mozzarella with blue cheese in ingredients, demonstrating insert, pop, and membership tests.
Explore nested lists in Python, creating matrices as lists of lists, accessing elements with multi-level indexes, using length and append operations, and mixing data types within a single list.
Define what tuples are and how to create them in your code. Access items from tuples, update and delete elements, and apply functions to manage the tuple collection.
Learn how tuples form an unchangeable, ordered collection that can contain duplicates, used to group multiple pieces of information, with syntax using parentheses and examples like dinner and breakfast.
Access items in a tuple by index, using zero-based and negative indices, slice ranges to subset, and create new tuples from existing ones to change contents without mutating the original.
Tuples cannot be changed, so learn to create new tuples from existing ones by slicing, concatenation, or converting to a list and back.
Practice tuples by building and concatenating tuples to store a database connection and a list of friends, print results, and update the second friend name using indexing.
Explore tuple functions using len, count, and index to measure length, tally occurrences, and locate items on tuples with a fixed size.
Practice creating a tuple to store an object's name, length, width, height, and room by prompting user input and printing the object with its dimensions.
Python is the best language to learn when you are beginning with software development
There are loads of Python resources online to choose from, but this is the only course that takes you from a complete beginner in software development, teaches you the fundamentals, advanced topics, and makes you an expert in this field.
In addition, you have loads of practice exercises and challenges to work on. I didn't just add a bunch of exercises at the end. Instead, each concept is put in code and practiced so that we make sure you apply and learn everything through action.
You get over 24 hours of on-demand videos, exercises and most importantly projects to apply the knowledge we talk about.
I've spent years building software in Python, and years again teaching people how to build code for themselves.
This is the most complete course I've ever done, and it's all to help you on your journey to become an expert developer.
We will cover basic topics such as
language fundamentals
collections
flow control
loops
handling errors and exceptions
functions
higher order functions
recursion
generators
modules
working with files
As well as advanced topics such as
Object Oriented Programming
Principles of development
Properties
Decorators
Libraries such as
requests for network communications
sqlite3 for SQL
tkinter for GUI applications
BeautifulSoup for HTML scraping
And we will be working on projects such as
hangman
tic tac toe
GUI clicker
store manager
weather app
web scraping
You only need to take ONE COURSE to master Python, it's this one.