Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering Python 3 Programming
Rating: 3.6 out of 5(9 ratings)
93 students

Mastering Python 3 Programming

Get acquainted with the concepts of Python 3.x programming to enhance the performance of your code
Last updated 6/2019
English

What you'll learn

  • Get hands-on experience developing various kinds of Python applications on different platforms, architectures, and tools
  • Build four real-world applications: a stock portfolio, a mortgage refinance analysis tool, an email automation system, and a database-driven web app
  • Create Graphical User Interfaces for desktop and mobile applications
  • Know how to create HTTP-based microservices to build efficient and flexible server architectures
  • Learn lambda expressions, generators, and iterators to speed up your code
  • Gain a solid understanding of multiprocessing and multithreading in Python for parallelism
  • Optimize performance and efficiency by leveraging NumPy, SciPy, and Cython for numerical computations
  • Load large data using Dask in a distributed setting
  • Learn reactive programming in Python

Course content

3 sections101 lectures10h 12m total length
  • The Course Overview1:46

    This video will give you an overview about the course.

  • Setting up the Python Environment3:55

    In this video, we walk through installation of Anaconda, a popular scientific Python platform. The software is free to install and use.

       •  Download installation package

       •  Install software

       •  Verify installation

  • Getting Started with the pandas_datareader4:03

    In this video, we will briefly look at the functionality of the pandas datareader module.

       •  Install pandas datareader

       •  Download data from yahoo finance

       •  Streamline download

  • Expanding to a List of Symbols3:27

    In this video develop a list of securities to track and create an application entry point.

       •  Create list of symbols

       •  Write function to get price updates

       •  Create main function as application entry point

  • Adding an Option Menu4:34

    In this video, we develop and display a text based option menu to allow for the administration of the application

       •  Create list of option choices

       •  Read and format options into number list for output

       •  Create control structure for and placeholder functions

  • Implementing A Menu3:42

    Start to flesh out our administrative functions in the application.

       •  Define function to display default symbol list

       •  Define function to add symbols to the default list

  • Defining Functions3:41

    In this video we will define some functions in our menu.

       •  Define Functions in a Menu

  • Defining More Functions2:43

    In this video, we will continue defining some more application functions.

       •  Create function to allow list of securities to be edited

  • Wrapping Up2:46

    In this video, we finish up our application by defining the final function that allows a new list to be entered and tracked.

       •  Develop functionality for entering and tracking a new list

  • Working with Graphical User Interface (GUI)6:12

    Video introduces the tkinter Graphical User Interface.

       •  Import tkinter

       •  Demonstate several widgets and place them on a form

  • Assigning Events5:51

    In this video, we continue to work with widgets in tkinter and assign functions to command buttons.

       •  Add button wdigets to form

       •  Define simple functions to attach to buttons

  • Setting Up the Refinance App5:31

    In this video, we will be setting a Refinance App.

       •  Start by Importing tkinter and numpy

       •  Follow the process in creating the Application

  • Adding User Input5:49

    This video sets up the Refinance Tool class and starts to define widgets that will accept user input.

       •  Add additional controls

       •  Continue to explore formatting options

  • Calculating Payments7:05

    In this video, we continue to add widgets and get an idea of some of the formatting options and properties of widgets.

       •  Refine placement and visualization of widget controls

       •  Write a program to calculate payments in the Refinance Evaluator App

  • Adding Comparison Controls7:52

    We add a second section to our form to accept user inputs about current loan and refinance costs.

       •  Add additional widgets to accept user input and display output of loan comparison

  • Evaluation Function4:46

    We finish up our application by defining the final function that allows for the comparison of existing loan with the refinance offer.

       •  Develop function to compare loans and display output on form

  • Using Python to Send Email4:51

    This video introduces users to the smtplib for connecting to email servers and sending email.

       •  Import smtplib

       •  Demonstrate basic functionality

  • Working with External Files6:30

    In this video, we discuss reading writing and appending to text files.

       •  In this video, we discuss reading writing and appending to text files.

       •  Demonstrate reading data from external file

       •  Demonstrate appending data to external file

  • Working with Excel Spreadsheets4:08

    This video sets shows one method of working with Excel spreadsheets with the openpyxl library.

       •  Import openpyxl library for working with Excel files

       •  Demonstrate basic functionality of parsing Excel worksheet

  • Setting up the Email App3:55

    In this video, we set up the structure of the application by implementing a text based menu and defining placeholder functions.

       •  Create a dict of menu options

       •  Create placeholder functions

       •  Create control structure to execute menu commands

  • Reading and Deleting Contacts3:53

    We start to add functionality in this video defining a function to read data, which will be relied on for a variety of functionality including the delete contact function also discussed.

       •  Write function to parse data from the contacts file

       •  Write function to delete contacts from contacts file

  • Adding Contacts4:53

    In this video, we define a function allows for contact to be added to our external “database” and define a helper function for finalizing the app.

       •  Write function to add contacts to contacts file

       •  Implement helper function to facilitate server login

  • Completing the Email Functionality5:09

    We finish up our application by creating functions to parse and personalize messages and send email out to our mailing list.

       •  Finalize app by creating function to parse and personalize messages

       •  Write function to handle sending email to a list of contacts

  • Setting Up the Environment5:28

    This video covers installing virtualenv and Django to get started with our Web App.

       •  Install virtualenv and create a virtual environment

       •  Install Django in the virtual environment

       •  Start a Django project and run the development webserver

  • Adding an App to the website11:25

    In this video, we add an application to the web project which will store information about the database we will build.

       •  Add application using Django management tool

       •  Modify several files to register the app with our project

  • Defining the Model4:29

    This video defines the data we will collect and connects our model to both the web project and the default database management system

       •  Define data model

       •  Modify requisite files to enable data to be served

  • Administrating the model4:12

    In this video, take a look at the built in admin tool that comes with Django and add data to our custom database

       •  Create a superuser

       •  View the admin page

       •  Add data to our database

  • Creating the Homepage7:18

    With the preliminary work out of the way, we create a homepage – the HTML used is discussed but no HTML is assumed

       •  Add templates folder

       •  Discuss Django’s template language

       •  Connect homepage to Django

  • Creating the Quotes Page3:34

    In this video, we finalize our web app by connecting a second page to the site and testing.

       •  Discuss quotes page template

       •  Connect template to website

       •  Test website

  • Test your knowledge

Requirements

  • Basic Python programming knowledge is required.

Description

Python is an easy to learn, powerful programming language. It’s elegant syntax and dynamic typing, together with its interpreted nature, makes it an ideal language for scripting and rapid application development in many areas and on most platforms. If you're a developer who wishes to build a strong programming foundation with this simple yet powerful programming language Python, then this learning path is for you.

This practical course is designed to teach you the programming aspects of Python 3.x and use them to build powerful applications. You will begin with exploring the new features of this version and build multiple projects to get hold of the topic. You will learn about event-driven, reactive programming, error handling, asynchronous programming, decorators and non-type annotations, descriptors and distributed computing in Python. You will also build high-performance, concurrent applications in Python and also work with some of the powerful libraries such as NumPy and SciPy. Next, you will perform large-scale computations using Dask and implement distributed applications in Python. Finally, you will learn reactive programming with Python to construct robust and responsive applications.

By the end of this course you will be well-versed with the programming concepts in Python 3.x to build Python applications in a better and efficient manner.

Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

  • Matthew Macarty has taught graduate and undergraduate business school students for over 15 years and currently teaches at Bentley University. He has taught courses in statistics, quantitative methods, information systems and database design.


  • Daniel Arbuckle holds a Doctorate in Computer Science from the University of Southern California, where he specialized in robotics and was a member of the nanotechnology lab. He now has more than ten years behind him as a consultant, during which time he’s been using Python to help an assortment of businesses, from clothing manufacturers to crowdsourcing platforms. Python has been his primary development language since he was in High School. He’s also an award-winning teacher of programming and computer science.


  • Mohammed Kashif works as a Data Scientist at Nineleaps, India, dealing mostly with graph data analysis. Prior to this, he was working as a Python developer at Qualcomm. He completed his Master's degree in computer science from IIIT Delhi, with specialization in data engineering. His areas of interest include recommender systems, NLP, and graph analytics. In his spare time, he likes to solve questions on StackOverflow and help debug other people out of their misery. He is also an experienced teaching assistant with a demonstrated history of working in the higher-education industry.

Who this course is for:

  • This course is for Python Programmers who want to extend their skillset to scale their code and improve their code performance.