Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering python - From Scratch
Rating: 4.2 out of 5(46 ratings)
4,581 students

Mastering python - From Scratch

Mastering Python From Scratch will teach you Python, MongoDB, Threading, Multiprocessing, Asyncio and Flask
Created byYasser Abbass
Last updated 3/2022
English
English [Auto],

What you'll learn

  • Start from a complete beginner to an expert python programmer
  • Learn how to work with threading, multiprocessing and Asyncio
  • Learn how to create GUI desktop applications with PySimpleGUI
  • Create a complete web application for managing a bookstore with Mongodb and publish it online
  • Learn Object oriented programming
  • Learn how to handle files and interact with file-system
  • Learn how to send email with python
  • Learn how to work with Mongodb in python
  • Learn how to create web applications
  • Create text to speech application
  • Create web monitoring application
  • Create system health application
  • Create backup application
  • Create full student course management system with Mongodb
  • Create desktop backup application that you can execute without python

Course content

4 sections274 lectures22h 3m total length
  • Course Contents3:40

    Master Python basics from data types to modules and build projects like text to speech and a converter. Explore files, MongoDB, and advanced topics like concurrency, decorators, and web application.

  • Tools installation (intro)1:42

    Explore Python tools to develop scripts, including the Python interpreter, shell or command line, notebooks, and various IDE options, with cross‑platform installation.

  • Tools Installation in Windows4:40

    Install Python on Windows, verify the installation, set up notebook to use the Python package manager, and install the community edition to begin exploring in the next lecture.

  • Tools Installation in mac OS4:34

    Install python 3 on macOS, verify the installation, and use the Python package manager (pip). Then install developer tools, download the community edition, and launch Jupiter to complete the setup.

  • Tools Installation in Linux7:09

    Install python 3.8 on ubuntu, verify with python3 --version, and set up jupyter notebook; learn to install the notebook environment via command line or download to begin exploring.

  • Working with Jupyter13:46

    Learn to set up a Jupyter notebook, manage folders, create notebooks, switch cells between markdown and code, render markdown, insert images, run and restart cells, and install packages.

  • Python data types (intro)5:48

    Master printing with single or double quotes and comments, then explore variables and naming rules. Introduce Python data types: integers, floats, booleans, and strings via input and assignments.

  • Python data types (Numbers) - part-15:13

    Mastering python from scratch introduces two types of numbers, integers and floats, with examples like 1.5 and 102.5, and explains arithmetic as addition, division, floor division, modulo, and hash comments.

  • Python data types (Numbers) - part-25:06

    Explore python numeric types and arithmetic, including augmented assignments and the order of operations, then print variables and use input to capture user values.

  • Python data types (Numbers) - part-34:54

    Convert a string age to int to enable arithmetic, then explore booleans and logical operators (and, or, not) for true-false expressions in Python numbers.

  • Python data types (Numbers)
  • Python data types (Strings) - part-14:39

    Explore Python strings, learn to create strings with quotes, concatenate first and last names with a space, repeat strings by multiplication, and define string variables like a message with hello.

  • Python data types (Strings) - part-24:46

    Master Python strings by using zero-based indexing, negative indices, and slicing with start, end, and step to extract precise substrings.

  • Python data types (Strings) - part-35:00

    Master string indexing and slicing with positive and negative indices, steps, and reversing; learn strings are immutable and how to rebind variables, then use len to count characters.

  • Python data types (Strings) - part-44:58

    Explore Python string operations, including splitting a string with the default space delimiter, joining pieces with join, and converting case with upper, lower, capitalize, plus finding indices.

  • Python data types (Strings) - part-54:47

    Explore Python strings by searching substrings, understanding index results or -1 when not found, using start and end hints, replacing text, and counting character occurrences while noting string immutability.

  • Python data types (Strings) - part-65:35

    Explore python string handling by aligning text to a 30-character width, using format and f-strings for variable substitution, and printing concatenated names with clear formatting.

  • Python data types (Strings)
  • Type conversion5:23

    Mastering Python from scratch covers implicit and explicit typecasting, showing how Python auto converts numbers to float to avoid loss and how to cast with int, float, and str.

  • Type conversion
  • Conditional Logic - part-15:41

    Explore Python conditional logic with if, elif, else, learn comparison operators, boolean expressions, and logical operators, and see how to combine conditions and indentation in practical examples.

  • Conditional Logic - part-26:22

    Master conditional logic in python through practical examples, test numbers divisible by two (even), apply and, or, not with if statements, and validate password length and numeric conditions.

  • Conditional Logic
  • Looping - part-15:46

    We explore for loops with range and while loops, including nested loops, printing values from zero to nine, and understanding start, stop, and step parameters.

  • Looping - part-26:30

    Explore looping in Python from scratch by using for loops with the range function, control flow with break and continue, and printing ranges and results.

  • Looping - part-34:58

    Explore Python looping concepts, comparing for and while loops, using break to exit infinite loops, and printing with conditionals and remainder checks for range-based output.

  • Looping - part-45:26

    Demonstrate nested for loops in Python using range 1 to 9, converting numbers to strings and left aligning in four spaces with print end. Illustrate with a timetable example.

  • Looping
  • Collections (Lists) - part-15:21

    Explore python lists created with square brackets, holding mixed types and mutable. Access by index, append items, pop to remove last, join with plus, use list comprehension to build lists.

  • Collections (Lists) - part-25:07

    Master python lists from scratch by learning indexing, slicing to access items, reversing, counting occurrences, popping, appending, inserting, and distinguishing between aliasing and full copies.

  • Collections (Lists) - part-36:19

    Explore Python lists through copying, appending, and combining with plus; learn list comprehension to transform ranges and filter even numbers.

  • Collections (Lists) - part-45:54

    Explore filtering lists with multiple conditions using modulo checks for even numbers and divisibility by two or four, and compare list comprehension with traditional loops.

  • Collections (Lists)
  • Collections (dicts, tuples, sets) - part-16:08

    Explore dictionaries, tuples, and sets, focusing on unique keys, curly brace syntax, key-value access and updates, and adding new pairs; cover set operations and basic sequence unpacking.

  • Collections (dicts, tuples, sets) - part-26:03

    Learn dictionary operations in Python, including keys, values, and items; delete with del and pop; copy dictionaries; and build new ones via dictionary comprehension and for loops, with salary examples.

  • Collections (dicts, tuples, sets) - part-35:15

    Explore Python collections by manipulating tuples and lists: create sequences, use count and index methods, and unpack with an asterisk to handle varying element counts.

  • Collections (dicts, tuples, sets) - part-45:45

    Explore how to use Python sets: create sets with literals or set(), remove duplicates, and perform intersection, union, difference, and symmetric difference. Iterate over sets with for loops.

  • Collections (dicts, tuples, sets)
  • Functions - part-15:52

    Define functions with def, pass parameters (positional or keyword), use default values, and call by name to reuse code, with examples printing messages.

  • Functions - part-25:17

    Develop and customize Python functions by defining parameters, printing messages, and exploring positional versus keyword arguments, including how parameter order affects execution and common errors.

  • Functions - part-35:40

    Define functions with parameters and default values, print messages inside, document with a docstring, reveal help text, and return values using the return statement.

  • Functions - part-44:07

    Learn to define a function that generates fibonacci sequence using two initial terms, a and b, with a while loop, appending results, and returning results for 0, 1, and 1000.

  • Functions
  • Modules - part-15:13

    Explore Python modules and reuse functions across scripts by importing modules or using from import; access functions via module.name and discover contents with a function named Josh.

  • Modules - part-24:59

    Learn to import functions from modules with from utils import and aliasing with import utils as, run modules as standalone scripts with parameters and __name__ == '__main__', and explore packages.

  • Modules - part-36:16

    Learn how to manage python packages from installation to updates using pip, including searching, installing, listing, upgrading, and exporting a requirements file.

  • Modules
  • Built-in functions - part-14:16

    Explore built-in Python functions, including int, float, and str for type conversion, plus chr and ord for characters and hex, octal, and bin representations.

  • Built-in functions - part-25:39

    Explore Python built-in functions for collections, including lists, dictionaries, and sets, and learn operations like max, min, sum, pow, range, len, round, eval, and slicing with start, stop, and step.

  • Built-in functions
  • Introduction to Pycharm - part-15:58

    Learn how to start a PyCharm project, set up a Python virtual environment, create and run a Python file, and use the terminal and Python console to manage code.

  • Introduction to Pycharm - part-27:11

    Learn to debug in pyCharm by setting breakpoints, running and resuming programs, stepping over, into, and out of functions, and evaluating expressions with variables.

  • Download Source Code7:48

    Download the course source code, extract it, configure a Python interpreter, install the bundled requirements, and prepare notebooks that connect to MongoDB using a connection string.

  • TTS Project (Overview)0:16

    Learn how to create this file in Python from scratch. See an overview of the TTS project.

  • TTS Project part-15:50

    Install Google text to speech and set up a virtual environment across Windows, Mac, and Linux, then write a Python script to convert text to speech and save as mp3.

  • TTS Project part-26:10

    Build a Python workflow that confirms file saving with a print statement, prompts for text and filename, prevents silent overwrites, and uses string split to ensure a proper file extension.

  • TTS Project part-35:59

    Explore a python tts project that handles file name manipulation and extension handling for text-to-speech output, using string concatenation and a reusable function to convert text and save the file.

  • Guess Project (Overview)1:53

    Explore a Python number guessing project in which the computer guesses your number via higher, lower, or correct feedback, using d for down and c for correct.

  • Guess Project - part-14:54

    Learn a Python project that uses divide and conquer and binary search to guess a number by repeatedly choosing the list center and halving based on feedback.

  • Guess Project - part-25:26

    Create a numbers list from 1 to 100 and use a while loop to narrow the range by comparing guess to center. Use integer division to choose next half.

  • Guess Project - part-37:00

    Create a Python number guessing game that narrows the range by halves using if statements, prompts for user input, and demonstrates debugging and handling of invalid choices.

  • Converter Project (Overview)1:03

    Build a converter project by creating a script that converts numbers to words, demonstrated with examples like one million two hundred thousand two hundred.

  • Converter Project - part-16:18

    Build a Python converter project to turn numbers into words by using division and modulus to extract millions, thousands, and hundreds, then map values with a numbers dictionary.

  • Converter Project - part-26:43

    Learn to decompose a number into millions, thousands, and hundreds using division and modulo, then create a get_parts function to extract each three-digit segment.

  • Converter Project - part-36:26

    Learn how to convert a three digit number to words in Python by checking string length, using integer division and modular arithmetic, and handling numbers under twenty.

  • Converter Project - part-47:15

    Learn to build a Python number-to-words converter by extracting million, thousand, and hundred parts, appending words with plus-equals, and managing spaces to form correct phrases.

  • Converter Project - part-56:20

    Develop a Python converter project by modularizing into millions, thousands, and hundreds parts, handle user input as a string, and refactor code to avoid redundancy while preserving a working version.

  • Converter Project - part-65:57

    Follow the converter project workflow: think through the problem, implement a quick and dirty solution, then debug with break points and refine the logic.

Requirements

  • A computer Windows, Linux or mac OS
  • No previous programming knowledge is needed
  • No previous python knowledge is required

Description

Python is the fastest-growing programming language in the industry, and among the most popular programming languages in the world.

It's not a hard language for beginners to pick up and for intermediate or advanced programmers to advance, which is why the need to learn this language has increased exponentially over the past few years.


Mastering python - From Scratch is designed as a journey that will take you from installing the programs to learning the fundamentals of python and gradually applying the most advanced techniques to develop some of the most advanced real-life applications.


Whether you are a beginner with no knowledge in python or programming, or if you're an experienced programmer in a different programming language, or even if you're an experienced python programmer,

this course will give you the basics and move forward to the more challenging applications in Python to help you broaden your horizons in Python, or if you'd want to expand your career opportunities.


My name is Yasser Abbass. I'm a software engineer and I will be your instructor for this course

I have been in programming for the past 30 years and specifically in python for the past decade.

  • Mohammad: "Yasser is by far one of the best instructors I had opportunity to learn from. I highly recommend this course for any beginner. Every Topic is in depth. Many Projects and Practices. Thank you so much Yasser!!!"

The course is divided into four sections, each including several lectures. with each lecture, you will find some exercises and each section has one or more projects that will make sure that you applied what you have learned. we will be building 10 projects with varying levels of difficulty.


Some of the projects we will be building together are:

- Text to Speech.

- Guessing Number project.

- Converter project.

- Web Monitoring.

- System Health.

- Backup Script project.

- A student course management system.

- A bookstore management system.

- A File backup program that will be converted to a desktop application.

- A full bookstore web app.

But don't worry you will be able to create those projects and more as you follow along with the course and with the skills you learned you will be able to apply it to your projects. You will also be able to download all the source code for all the lectures and the projects.

During this course, you will learn:

- How to install the software on Windows, Mac, and Linux.

- An introduction to Jupiter-lab.

- Data types, Conditional logic, looping, and collections.

- Functions, modules, and built-in functions.

- How to handle files.

- How to interact with the file-system.

- Date-time, web communication, exception handling, and JSON.

- How to send emails through python.

- Object-oriented programming.

- How to use MongoDB from python.

- How to create databases with full CRUD operations

- Advanced python built-in functions.

- Iterators generators and decorators.

- Logging.

- Concurrency, threading multiprocessing, and Asyncio.

- How to create a GUI for python with PySimpleGUI.

- How to create a desktop application with PyInstaller.

- How to create professional web apps with flask.

  • Vikash: "Trust me, this is everything you will be needing."

Finally, if you are stuck you can drop a question in the Q&A, and I or one of my teaching assistants will answer you promptly

Who this course is for:

  • Beginner programmers who wants to master python
  • Programmers from other languages that want to start their python journey
  • Python programmers who want to learn new skills and master advanced python