Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Modern Python Application Development in Practice!
Rating: 4.5 out of 5(26 ratings)
252 students

Modern Python Application Development in Practice!

A practical guide to creating your own unique program using modern Python!
Last updated 12/2018
English

What you'll learn

  • Run and execute Python both from the command line and from within the IDE.
  • Explore generators and itertools and get an introduction to creating your own functions classes and modules.
  • Create your own Django templates for your Python web API and learn to use template filters and tags.
  • Manage code quality in order to find potential errors early in the development cycle.
  • Explore the tools and formats to distribute packages, command-line, GUI and web applications.
  • Locate root causes by benchmarking and profiling your application.
  • Organize your code better using Object Oriented Programming.

Course content

4 sections94 lectures12h 12m total length
  • The Course Overview4:07

    This video gives an overview of the entire course.

  • Setting Up Your Development Environment5:18

    Instruct the user about how to install Python, as well as a community (free) version of PyCharm.

    • Download and install Python

    • Download and install PyCharm community edition

    • Configure the IDE, and (minimally) introduction to IDE

  • Writing Your First Python Program4:52

    Write a simple Python program and execute it.

    • Write a simple program

    • Modify our simple program

    • Verify user output

  • Writing Your Second Python Program6:07

    Expand upon the first program, and introduce a subtle bug.

    • Make our program more complicated

    • Verify the output

    • Demonstrate error condition

  • Debugging Your Second Python Program6:49

    Demonstrate the Python debugger, and PyCharm interface to the debugger mode.

    • Run our program in the debug mode.

    • Pause execution, explore the program state and discover the error

    • Verify that the problem is resolved

  • Printing and Formatting Strings7:20

    Learn how to print justified text and how to format numbers into strings that you define, such as currency, hexadecimal, binary, and scientific notation.

    • Learn how to substitute a variable into a string

    • Justification and alignment of strings

    • Format numbers in a variety of ways

  • Parsing Simple Strings8:21

    Break a string into parts, using custom delimiters, likewise re-join a series of strings back into a single string.

    Learn how to normalize a string and test it against various conditions.

    • Learn how to break a string apart into useful pieces to work with and then re-join it

    • Normalize a string

    • Test various simple conditions

  • Working with the Re Module13:25

    Learn advance string matching with regular expressions in Python.

    • Learn simple regular expression pattern

    • Discuss about the capture groups

    • Learn how to do advanced string replacement with re.sub

  • Working with Dates8:25

    Learn how to print datetime objects with user specified formats and manipulate them.

    Learn various ways to allow users to input dates.

    • Create a datetime for distinct dates in various ways

    • Format dates when printing or displaying them

    • Learn how to offset dates, and learn about the calendar module

  • Ensuring Data Integrity and Security7:51

    Learn what about checksum and two of the primary uses of checksums.

    • Understand a checksum

    • Learn about using simple checksums to avoid transcription errors

    • Explore cryptographic checksums and their security applications

  • Working with Files, and File-like Interfaces7:44

    Reading and writing from files.

    • Open a file for writing with a context manager

    • Read from a file, as a whole and in chunks

    • File encoding and decoding from Unicode to bytes and back

  • Introduction to Lists and for Loops4:51

    Help the user understand for loops and how to iterate over a list of items.

    • Initialize all 3 datatype containers (dict/list/set)

    • Iterate over a list of objects adding them to our datatypes

    • Understand some of the key differences between the 3 datatypes

  • Working with List Comprehensions8:07

    Learn how to replace for loops with list comprehensions, as well as how to map items using a list comprehension.

    • Convert our for loop into a list comprehension

    • Learn to convert for loop into a set comprehension

    • Convert our loop into a dictionary comprehension

  • Filtering Data in List Comprehensions7:12

    Learn how to exclude unwanted values in our list comprehensions.

    • Learn how to use a list comprehension as a map

    • Exclude values within a list comprehension

    • Explore Big-O complexities of search, as well as additional resources

  • Some Problems with List Comprehensions6:29

    List comprehensions, while some are not a silver bullet and still present with some problems that we need to keep in mind.

    • Implement a list comprehension that has a long execution time

    • Observe the behavior of the software

    • Understand some key problems with user experience that list comprehensions can exacerbate

  • Working with Generators9:20

    Learn how to use generators to solve some of the problems with list comprehensions, and use generators to help preserve system resources.

    • Convert our list comprehension into a generator expression, to preserve computational time

    • Learn how to use a generator expression to enumerate future dates

    • Learn how to use generators to preserve system space

  • Going to Infinity and Beyond with Itertools9:40

    Explore some of the functions that the itertools library provides in order to count things forever.

    • Use itertools to count forever and cycle through a list forever

    • Take advantage of these methods to calculate simple probabilities

    • Understand the various combinatorics functions of itertools

  • Introduction to Functions11:40

    Learn what a function is and when to think about using them.

    • Understand a function and it’s use

    • Learn how to pass arguments into a function

    • Return a value from a function

  • Various Concepts of Functions12:06

    Learn about anonymous or unnamed functions, and some common scenarios to use them in, as well as some pitfalls you might encounter, and how to circumvent them.

    • Explore anonymous functions and why we might use them

    • Analyze potential pitfalls you might encounter with anonymous functions

    • Learn ways around the pitfalls that you might encounter

  • Exploring Function Decorators13:40

    Learn about function decorators, that is functions that modify other functions, and create several example decorators.

    • Learn about functions as a first class citizen, create a simple decorator

    • Create a memorization decorator

    • Create a profile decorator

  • Document Code and Verify Code Correctness16:51

    Learn how to document your code, with type annotations as well as docstrings, both for yourself, and for others.

    • Understand the need to document our code

    • Explore various levels of code documentation

    • Write documentation that also tests out code

  • Classes, Modules – When and Why to Use Them?15:47

    Learn about classes and modules by creating a simple blackjack game.

    • Learn about classes and modules

    • Create some classes and modules

    • Play blackjack

  • Test Your Knowledge

Requirements

  • Basic knowledge of Python programming and its features will be useful.

Description

Over the years, Python has turned out to be a boon for developers and it is very powerful, can run everywhere, and offers flexibility! With the growing demand for full-stack developers, it is important to learn how you can combine the powers of Python with other libraries to create amazing applications. To further your software development career, you need to understand why and how Python executes your code so that you can create clean code that compiles in time. This Course unleashes the power of Python's functionalities to create compelling applications!

This comprehensive 4-in-1 course follows a step-by-step approach taking you through the tools of Modern Python to build your Python application from scratch! To begin with, you’ll learn generators and itertools and get an introduction to creating your own functions classes and modules. Create your own Django templates for your Python web API and learn to use template filters and tags. Explore the tools and formats to distribute packages, command-line, GUI and web applications. Finally, you’ll tackle Python performance problems and speed up your apps with parallelism, concurrent execution, and OOP!
Towards the end of this course, you'll learn Python like a professional to build REST APIs &  powerful apps using modern Python!

Contents and Overview

This training program includes 4 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Getting Started with Modern Python, covers creating your own unique program using modern Python. In this course, you will start by setting up your development environment, including downloading Python and setting up your IDE (PyCharm); you'll then be introduced to Python lists and list comprehensions. The course will then show you what a generator is and why you might want to use one. Further on, you will be introduced to functions and decorators, and see how you can use them. You will then learn how to create a very simple, single-file Python program, and how to execute it both from the command line and from within the IDE. You'll also get a very brief introduction to debugging. By the end of the course, you'll have learned how to manipulate strings, parsing and printing them.

The second course, Building REST APIs with Python, covers building REST APIs with Python. With the growing demand for full-stack developers, it is important to learn how you can combine the powers of Python with other libraries to create amazing applications. Django has basic front-end support but we show how complex operations can be performed at the front-end. We show you how to unleash the power of Python's Rest API and other functionalities to create compelling applications powered by ReactJS. We will be using a production-level database such as Postgres. Delving into key aspects such as code reusability, deployment and maintaining your application, we discuss production server configuration and bundle technologies with Python to provide an end-to-end web development solution.

The third course, Tips, Tricks, and Techniques for Python Application Development, covers building powerful & efficient applications with Python. The course starts by dealing with performance issues and learning how to tackle them in an application. Distributing an application with Python is not easy but you will learn ways to distribute applications developed using Python along with GUIs, web applications, and more. Further, you will learn to test your application at different levels and use modern software at the development stage. You will also learn to expand productivity using standard and third-party tools. Finally, you will learn to protect your code quality from potential errors and detect any problem at an early stage, to prevent any issues later. By the end, of course, you will have learned many tips and tricks while developing an application with Python; you'll excel at this and avoid encountering major problems as a developer. So, grab this course and take your applications to the next level!

The fourth course, Troubleshooting Python Application Development, covers quick fixes for your Python application development problems. This course takes you through a structured journey of performance problems that your application is likely to encounter, and presents both the intuition and the solution to these issues. You'll get things done, without a lengthy detour into how Python is implemented or computational theory. Quickly detect which lines of code are causing problems, and fix them quickly without going through 300 pages of unnecessary detail.

By the end of the course, you'll learn Python like a professional to build REST APIs & powerful apps using modern Python!

About the Authors

  • Paul Oliver is the Principal Software Architect at Vosaic. Vosaic helps its users unlock insights with the video for education and simulations. Vosaic is closely aligned with Hudl, which is the premier video platform for sports. Before taking on the role at Vosaic, he worked as a software developer and architect in the banking and criminal justice industries. Throughout his career, he's been passionate about building well-architected software solutions with the security of primary importance. He's architected several applications in the cloud using Microsoft Azure, Amazon Web Services, and Heroku. He received his BSc in Computer Engineering from the University of Nebraska-Lincoln and his Masters of Business Administration degree from Creighton University.

  • Praveen Kumar Sreeram works as a Solution Architect at PennyWise Solutions (an Ogilvy and Mather Company). He has over 12 years' experience in the field of development, analysis, design, and delivery of applications of various technologies, including custom web development using ASP.NET and MVC to building mobile apps using the cross-platform technology Xamarin for domains such as insurance, telecom, and wireless expense management. He has twice been recognized as a Most Valuable Professional by one of the leading social community websites, CSharpCorner, for his contributions toward writing articles and helping community members, mostly on Microsoft Azure. He is highly focused on learning about technology.

  • Omkar Dusane is a software developer based in Mumbai, India. He has designed and developed many software products for startups. He is a food enthusiast and a Node.js lover and was a senior Microsoft Student Partner who represented India at Microsoft Global Student Partner Summit in 2016. He is currently Product Engineer at Kennect Solutions Pvt. Ltd. Mumbai and is responsible for business execution and intelligence tools for various industries. He encourages serverless technologies and has an eye for scalability of new web technologies.

Who this course is for:

  • Software & full-stack developers who want to learn Python and become Python developers by building fully functioning applications!