
Learn the basics of Python, an interpreted, high-level language, and explore its use in data analysis and machine learning, including loops, regular expressions, libraries, and database integration.
The source code and PDFs for this course is available as a downloadable resource with this lecture.
Install Anaconda 3.6, a data science platform with Python libraries and Jupiter notebook. Download from anaconda.com/download, run the installer with default options, then start writing Python code.
Learn how to run Python code in IDLE, print hello world, perform basic operations, use the time module to display GMT time, and explore Jupiter notebooks for interactive work.
Learn how to implement Python if-else logic, using the modulus operator for conditions, and apply proper indentation with if, elif, and else blocks.
Import modules such as random and time, use for loops with range to generate random numbers, pause with sleep, and control flow with break and continue.
Explore Python lists, their dynamic typing, and basic operations like indexing (including negative indices), len, membership with in, and mutating lists via append, remove, insert, extend.
Explore Python lists and string slicing with start, stop, and step, including negative indices and reversing, and learn about nondestructive slicing, list copying, and constructing lists with range.
Master Python dictionaries with the setdefault method, build and access dictionaries of dictionaries, and store lists as values for complex customer data using pretty print for clear visualization.
Learn how to define and use Python functions, add docstrings, count vowels with dictionaries, use for loops and sets, and employ default values and keyword arguments in a notebook.
Create a custom python module by moving functions into a module file, then install it via a setup.py distribution so you can import it from site-packages across projects.
Explore how to enhance a customer class with a custom __repr__ for readable prints, track and validate payments, and apply the total_ordering decorator to overload equality and ordering operators.
Build a simple web app using the Flask micro web framework by creating a project directory, importing Flask, defining routes with decorators, and returning a basic home page response.
Extend a simple web app by using render_template with a templates directory, create a base template with blocks, and extend an anti-dote.html page, then add a static style.css for styling.
Integrate a Python web app with a custom module by adding a post form, defining routes for find common letters and count vowels, and rendering results with templates.
Learn to parse json data in python by making http get requests, loading responses, and extracting daily maximum temperatures from a five-day forecast using list comprehension.
Demonstrate how Python iterators work with a list and a custom class. Create an iterator that produces powers of two up to a maximum, handling the stop iteration exception.
Explore pandas data analysis by loading a csv into a DataFrame, inspecting with head, filtering rain events, counting rainy days, and plotting max temperatures while filling missing values with mean.
Load JSON data into a pandas data frame from an OpenWeatherMap API call, convert it with json_normalize, and extract the maximum temperature over the 30-day forecast.
Extend the web app to log requests to a file with a log request function, then use Python to store logs in a sequel database.
Set up MariaDB or MySQL, create webapp_log and an app_user with full privileges, then build a five-column log table (id, timestamp, function_name, log_box1, log_box2) for the web app.
Learn how to log web app requests to MariaDB by configuring a database connection, inserting log data with parameterized queries, executing statements, and validating logs in the database.
Use the with keyword to manage a MySQL database connection with a context manager. Define __enter__ and __exit__ to auto-commit and close, and package a reusable DB connections module.
This course lays the foundation from which you can begin using Python to solve any problem - whether in Data Analysis, Machine Learning or Web Development. It gives you a fundamental understanding of Python loops, data structures, functions, classes and more to help you solve basic programming tasks so that you can confidently apply those skills to solve real problems.
The course assumes zero prior experience with Python, though some fundamental knowledge of programming is recommended.