Python 3: Fundamentals

Udemy Python 3: Fundamentals

Register & Get access to index
5007558-7f4c-2.jpg
Learn Python the right way!

Description​

This Course in a Nutshell
Aimed at beginner Python developers, this course will provide you a fundamental understanding of how to program in Python. Your journey will take you from a total Python beginner to an intermediate level Python developer more than ready to tackle your own professional projects.

This course will provide you the solid foundation you will need to continue moving forward in your Python development endeavors. This course is not a "here's how I do it, just type along please" type of course - its goal is to make you understand each and every line of code we are going to write together, why we write it and why it works, giving you the knowledge to apply the same coding techniques to your own situation and problems.

Like any good college level course, this course is fairly lengthy and will require time, not only for watching the videos, but also working on your own to explore the various topics, trying things out, and at the end of each section working on increasingly complex problems. It takes a certain amount of time to master a programming language, and this course is no exception. If you are looking for a quick and superficial intro to Python, then this course is probably not for you.

Course Overview
This course balances theory and coding practice. Most subjects are two-part: a theory (or lecture) video where we cover a specific topic, explain how things work, followed by a practice (or coding) video which takes the lecture material and applies it using real code. I highly encourage you to take notes during the lectures, and code along with me during the coding videos - that's the beauty of online videos - you can pause, rewind, speed up, slow down as you need!

All the course slides (over 900 of them!) are available for download if you prefer that approach over taking your own notes.

We use Jupyter notebooks as the perfect tool for teaching and learning Python.
Jupyter notebooks support both Python code as well as interspersed markdown documentation. You will find that every code video in this course has a corresponding Jupyter notebook available in the course downloads, that not only reproduces all the code we do in the coding videos, but is fully annotated with explanations of the code, basically what I cover in the coding videos, and sometimes more!

All the notebooks and the data files we will work with, are available in the course downloads in the first section of this course as well as in GitHub.

At the end of each section, you will find a set of exercises with solutions. It is imperative that you work through these exercises, and only move on to the next section once you are able to do these exercises on your own. Each section of this course builds on top of the previous one!

The course is broadly broken down into three main parts:

Python Basics
  • What is Python
  • How to install Python
  • How to create and use virtual environments
  • How to run Python and Jupyter notebooks
  • Basic data types including integers, floats, booleans
  • Boolean operators
  • Arithmetic and comparison operators, as well as operator precedence
  • Conditional execution
  • Looping (for and while)
  • Sequence types such as lists, tuples and strings
  • Working with sequence types (iterating, slicing, manipulating, copying, unpacking)
  • More on strings and Unicode
  • Dictionaries and sets
  • Python's list, dictionary and set comprehensions
  • Exceptions and exception handling
  • Iterables and iterators, including generators
  • Writing user defined functions and different ways of defining and passing arguments
  • Lambda functions
  • Some of Python's built-in functions (such as zip, sorted, min, max, and round)
Intermediate Python
  • Higher order functions (passing and returning functions from functions)
  • Maps (dictionaries)
  • Closures
  • Advanced sorting and filtering
  • Decorators - what they are, and how to write your own
  • Reading and writing text files
  • Python's module and import system
  • How to work with dates and times
  • How to read and write CSV files
  • Random numbers and sampling
  • A look at Python Math and Stats modules
  • Decimal data type - for when floats aren't precise enough
  • How to write your own custom Classes (OOP)
3rd Party Libraries
  • the pytz library for dealing with timezones and daylight savings
  • the dateutil library for parsing date/time strings
  • What is JSON data, and how to read and write JSON
  • What are REST APIs
  • How to use the requests library for HTTP/s requests (and how to interact with a REST API)
  • Fundamentals of the NumPy library for fast numerical computations
  • Fundamentals of the Pandas library for working with data sets (including indexing)
  • Fundamentals of the matplotlib library for charting data

Who this course is for:​

  • Beginners who want to learn Python like a software engineer
  • Students who want to gain a solid fundamental understanding of the Python language and ecosystem
  • Software engineers with knowledge of other languages, but new to Python
  • Not intended for students looking for a "quick and light" introduction to Python
Author
Satoru Gojo
Downloads
237
Views
1,548
First release
Last update
Rating
5.00 star(s) 1 ratings

More resources from Satoru Gojo

Latest reviews

When it comes to thoroughness, Fred Baptiste is a peerless instructor in the python language, with a knack for diving into the devils of the details.