Python for Everyday Life

Python for Everyday Life

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 14h 22m | 2.70 GB

Make your day and master the Python: a powerful and versatile language and ecosystem that can help you save time and money.

Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.

This video course is about leveraging the Python programming language and its thriving ecosystem to save yourself time and money when doing common routine tasks. Nobody wants to do boring and time-consuming tasks: days have 24 hours and you should squeeze out the most of this time for yourself – automating the boring tasks gives you back time to focus on what you really like to do. Moreover, this is also the chance for you to learn a great general-purpose language such as Python, with which you can build very cool applications both at work and in your spare time.
The course is structured as an incremental learning path: you will start with a deep-dive into Python software development basics, then move on to write scripts to automate file system operations and file contents processing on your local host, then you will learn how to interact with web-based services such as websites and APIs in order to robotize the cool things that we do everyday – such as tweeting, posting to social networks, reading RSS feeds, etc. – moreover you will practice how to set up a web-based services yourself in the form of web applications and in the end you will learn how to analyze and visualize datasets in order to extract knowledge.
By the end of this course you will have learned how to proficiently write structured Python code in a wide range of applications – from one-liner scripts to complex web applications – aiming at the automation of lots of common everyday life tasks.

After introducing some advanced Python programming tools and concepts, the course will present the user a variety of areas where Python can make the difference as an automation tool: from localhost-level tasks such as file system operations and image manipulation, to network-level tasks such as interacting with websites and APIs or handling Internet communications, up to building entire web applications and data analysis tools. The course is a sequential learning path: as the user progresses in the course, examples get more interesting and complex and build upon the concepts learned in previous lessons.

What You Will Learn

  • Automate the execution of lots of common everyday life tasks using Python
  • Write Python code proficiently in a structured fashion
  • Identify the boundaries of a coding problem and spot the best libraries to solve it
  • Design and Implement a wide range of applications from simple stand-alone one-liner scripts to complex web applications depending on external services
  • Manipulate efficiently and visualize data as a way to make informed decisions
Table of Contents

Programmers Tooling
1 The Course Overview
2 The Benefits of Using Proper Programmer Tools
3 Installing and Configuring PyCharm
4 Keep Your Work Warm (and Safe) Using Git
5 Setup of a Sample Python Project

Finding the Right Tool for the Job
6 Libraries – Never Reinvent the Wheel
7 The Python Standard Library
8 Searching for the Right Library to Do the Job
9 Using Pip to Install Libraries
10 Use Virtualenv to Isolate Environments

Advanced Python Topics
11 Logging
12 Regular Expressions
13 Function Decorators and Context Managers
14 Generator Expressions and Generators
15 Magic Methods
16 Metaprogramming
17 Functional Programming
18 Pythonic Code Idioms

Manipulate Files and Folders
19 Walking and Filtering Folder Contents
20 Renaming Files and Folders Based on Regular Expressions
21 Detecting File Modifications Using Diffs and Hash
22 Compressing and Decompressing Files
23 Encrypting Files with PyCryptodome

Handle Common File Formats
24 Reading and Writing Files
25 CSV
26 XML
27 JSON and YAML
28 Word DOCX
29 Excel XLSX
30 PDF

Processing Images
31 Reading and Showing Images with Pillow
32 Cropping and Resizing Images
33 Basic Image Filtering
34 Image Watermarking
35 Taking a Screenshot
36 Parsing QR Codes
37 Recognizing Faces in Pictures

Interacting with Websites
38 Downloading Web Content to Your Local Host Using Requests
39 Scraping Websites Content with Beautifulsoup
40 Scripting Your Browser with Selenium

The Power of APIs
41 Working with APIs
42 Learning How to Interact with httpbin Test Service
43 Fetching Cryptocurrencies Market Prices from the Coinmarketcap API
44 Retrieving Weather Forecasts from the OpenWeatherMap API with PyOWM Client

Automate Common Internet Tasks
45 Reading and Sending Emails with Gmail
46 Tweeting a Positive Message to the World with Twithon
47 Tracking all of Your Personal Notes Using the Evernote API
48 Watching for Topics on the Python Reddit RSS Feed
49 Using Firebase Cloud Messaging to Send a Push Notification to Your Android Apps with PyFCM
50 Sending a Text SMS via Twilio with Twilio Client
51 Backing Up on Dropbox Your Local Data Folders with Dropbox Client

Anatomy of a Web Application
52 Introduction to Web Applications
53 Web Applications Fundamentals
54 Using MVC Frameworks
55 Meet Flask and Django

Build a Simple Static Website Using Flask and Bootstrap
56 Starting Up the Project
57 Preparing the Static Pages
58 Coding the Flask Views
59 Creating a Protected Area and Handling User Authentication with a Credential Form
60 Testing the Website

Python and Databases
61 How a Database Works
62 SQLite, a Python-Friendly Database
63 Creating and Querying a Sample Dataset on SQLite
64 Object-Relational Mappers – Mapping Database Tables to Objects
65 Exploring a Simple Data Model Through the Django ORM

Publish Your Curriculum Vitae as an API on Django
66 Designing the Data Model
67 Designing the API Endpoints
68 Coding the Django Models and Setting Up the SQLite Database
69 The Django Admin
70 Coding the Django Views and Setting URL Routes
71 Putting It All Together and Testing with HTTPie

A Facebook Messenger Bot Based on Flask and Heroku
72 Designing a Bot That Can Answer Questions About Cryptocurrency Prices
73 Bot Behavior and Endpoints
74 Deploy the Bot on Heroku
75 Bind the Bot to a Facebook Page and Test It

Datasets Manipulation and Visualization with Jupyter and Pandas
76 Installing Jupyter and Managing a Notebook
77 Pandas Data Structures
78 Reading and Writing Datasets
79 Cleaning and Manipulating Datasets
80 Visualizing Datasets

Getting Insights from Your Datasets
81 Building a Cryptocurrency Prices Dataset
82 Calculating Moving Averages of Crypto Prices
83 Better Visualizations for Crypto Prices
84 Revealing Trends in Crypto Market