Course: Python Novice to Pythonista - Part 3 Python Journeyman (Update)

$329.00
$398.09 incl. vat

duration: 30 hours |

Language: English (US) |

access duration: 180 days |

Details

This is part 3 of the Python Novice to Pythonista learning path. Python continues to be one of the fastest growing programming languages on the market today. Because of its ease of use and many supporting frameworks, Python is widely used in web development, script writing, task automation, data science, and even cybersecurity. In this learning path, you will explore the different stages required to become a Pythonista.

This part of the learning path focuses on Python Unit Testing, Python HTTP requests, Flask in Python and Python concurrency programming.

You will find several training courses that prepare you to become a Python Journeyman. In addition, a livelab is available for you to practice. You will finish this section with an exam.

This training is delivered by experts who are from India. These experts are very knowledgeable, but speak with an accent. Subtitles are available in the videos.

Result

After completing this part of the learning path, you will be familiar with Python Unit Testing, Python HTTP requests, Flask in Python, and Python concurrency programming. In addition, you will be ready to start Part 4 of this learning path.

Prerequisites

You are familiar with the basics of software development.

You have completed parts 1 and 2 of this learning path.

Target audience

Software Developer, Web Developer

Content

Python Novice to Pythonista - Part 3 Python Journeyman (Update)

30 hours

Python Unit Testing: An Introduction to Python's unittest Framework

This 8-video course explores the unit-test framework in Python. To take this course, you should have experience in Python programming and the use of the Linux shell. The unit-test framework (also known as PyUnit) is modeled on JUnit and simplifies the automation of tests for Python applications. You will learn to use the unit-test framework to define tests for your application source code to ensure that it behaves in a specified manner. In this course, learners will write a sample test, and then expand the test scripts to include multiple tests. You will learn how to sequence the execution of tests in scripts, and how to filter out tests which do not require a specific run. Next, you will learn how to pass the output of test executions to identify the results of your tests, and how to diagnose test failures. You will learn how to run specific tests from among multiple tests in your scripts. Finally, this course demonstrates how to skip the execution of tests by using the skip decorator.

Python Unit Testing: Advanced Python Testing Using the unittest Framework

This 10-video course explores advanced features of Python testing uses of the unit-test Framework, and will examine several ways to optimize tests. A labs-only course using Linux Shell, it explores the unit-test framework, the pytest, and the doctest, and how to use them to automate the testing of all the functions in Python applications. You will learn how to bundle common operations for multiple tests into a special function or fixture, which make test scripts easier to view and maintain. Next, you will learn to adjust the scope of fixture functions to execute before each individual test, or to execute just once for the entire test case. Learners will examine how to create and execute a collection of test cases called test suites. You will explore the PyCharm IDE (integrated development environment), which includes support for several different testing frameworks. Finally, you will explore how PyCharm IDE simplifies the creation of tests by generating boilerplate code for test scripts with just a few clicks.

Python Unit Testing: Testing Python Code Using pytest

Explore several types of testing frameworks for Python applications, including the unittest framework, pytest, and doctest, in this 12-video course. First, you will learn how to define and run tests, and how to streamline tests by using fixtures. You will learn the important features of the pytest framework to create small test units, and to define and run individual tests. Next, you will learn to group tests into multiple scripts, and how to execute multiple test scripts within a single run. Learners will observe how to create a simple test, and learn to increase the complexity by defining test scripts to cover multiple tests for your application. You will explore the execution and skipping of specific tests in scripts, then learn to simplify tests by using parameterization. You will learn how to apply filters on different tests, and to execute tests with a certain string in the test name, and examine the use of markers in a test. Finally, you will learn how to use fixtures to run operations common to multiple tests.

Python Unit Testing: Testing Python Code Using doctest

This 8-video course explores several Python applications for testing, including the unit-test framework, pytest, and doctest. To take this course, you should have prior experience with Python programming, and familiarity with running commands from a Linux shell. This course focuses on doctests, and examines how the doctest module allows the definition of simple python tests within the docstrings in your source code. You will examine what syntax is needed when manually running tests from a Python shell, and how to copy over shells. Next, you will learn to capture the output and use it in your source file, then how to create an executable document for your source. This course demonstrates packaging a readme file, and the tests for a Python module. Learners will examine the bundling of documentation and tests into a single executable file. You will learn how to Ellipsis directive to address unpredictable outputs. Finally, you will learn to instruct your doctests to ignore whitespace characters within the outputs of a test by using the normalized whitespace directive.

Python Requests: HTTP Requests with Python

Learners can explore how to use the Python Request package which has simplified the task of constructing HTTP requests in this 16-video lab course, which explores different types of HTTP requests, and examines several ways to handle responses to those requests. Begin by learning how to use the Python request package to make a GET request for data from a server. Then you will observe how to construct a POST request to submit data to a host, and how to send it to a URL. Continue by learning how to use a HEAD request to check the resource information before downloading it by using GET, and how to examine request and response headers. Next, learners will examine a PUT request which has the same effect whether one makes the request once or multiple times, and which is used to overwrite an existing resource. You will learn to use DELETE requests. Finally, you will learn to address responses to requests in both JSON formatted or images.

Flask in Python: An Introduction to Web Frameworks & Flask

Explore the steps involved in a web request and the role of web applications in this web development process in this 8-video course examining various pieces that can make up a web application, and the role of the web framework in defining it. Begin by observing a widely used framework, often defined as a microframework, written in the Python language, which is Flask. You will then explore the features of the Flask framework that are available either out of the box or via extensions. Following on from this, you will delve into the roles of routes in a Flask application and the options available when defining a route function. You will learn how to recognize the need for templates when defining a web site and describe the use of jinja for this purpose. The final tutorial in this course focuses on some of the commonly used extensions in the Flask applications and recalls the purposes they serve.

Flask in Python: Building a Simple Web Site Using Flask

You will begin this 12-video course by learning how to install Flask-a widely used web framework written in Python language-in a virtual environment on your development machine, and then write the code for a simple "Hello World" website by using Flask. You will explore how route definitions can be altered and the benefits of running your Flask app in debug mode. Next, define a route that renders an HTML page when a URL is accessed; download and use some boilerplate HTML files so your website definition need not begin from scratch, and modify the boilerplate cascading style sheet (CSS) and HTML definitions to customize the look of a website. Learn how to generate URLs dynamically by using the url_for function; create a base Jinja template that can be inherited by other templates, along with placeholders that can be overridden; and explore how to inherit the elements from a base Jinja template in a child template HTML file. Finally, learn how to define multiple routes to point to the same route function.

Flask in Python: User Interactions in Flask Applications

In this 12-video course, learners discover how to handle errors in Flask-a widely used web framework written in Python language-by serving a custom error page whenever a 404 error is invoked on a website. Learn how to configure a route in your Flask app so that POST requests can be submitted. Next, use the Flask debugger to record information in your application's log; convey the invocation of an operation to end users by using message flashing, and then highlight flashed messages by defining a style for them in a cascading style sheet (CSS) file. Next, explore how to install and use WTForms in Flask application to accept user input for registration, and define a login page by using field definitions and built-in form validations available in WTForms. Then include the two pages defined by using WTForms in the Flask application, and invoke the validators defined for WTForm elements to ensure that the user input is in the correct form. Finally, ensure that all built-in validators applied on the WTForm elements work as expected.

Flask in Python: User Authentication in a Flask Application

In this 14-video course, titled "User Authentication in Flask Applications," you will begin with an introduction to SQL Alchemy, then install it and use it to connect the Flask application-a widely used web framework written in Python language-to a SQLite database. You will observe how to use SQL Alchemy to generate relational database tables for each model defined in an application; execute queries against tables by using a SQL Alchemy model; and how to structure a Flask application for maintenance. Then you will modify import statements to account for restructuring of Flask app and test that functionality has not been affected. Use Bcrypt package to generate hashes of passwords so that they can be stored securely, and create a bespoke validator for fields in your WTForms. Next, learn how to enable users to log in and log out of a Flask application. You will access and display the three most recent reviews posted on your Flask website; learn how to test feedback display functionality; and display images in your Flask website.

Python Concurrent Programming: Introduction to Concurrent Programming

Explore the general theory of concurrent programming, and examine how to have multiple tasks active at any given point in time. This 14-video course offers an in-depth examination of concurrent programming by using the Python programming language. First, learners will examine the two main forms of concurrent programming, multithreading and multiprocessing, and examine their differences and use cases. Next, you will examine executing multitask sequentially, and with multithreading to save time, and how to use multiprocessing to manage a collection of tasks efficiently. Continue by exploring challenges that programmers encounter when adopting concurrency such as synchronization issues and deadlocks, and how to address these issues. You will examine issues that arise when writing concurrent code, and you will learn how to fix these by using the built-in objects available in Python. Finally, this course examines several of the objects available in the Python language such as queues and pools, which simplify the task of building multithreading and multiprocessing applications.

Python Concurrent Programming: Multithreading in Python

This course offers an in-depth exploration of the creation and management of concurrent threads in Python. In its 14 videos, you will learn how to significantly improve the performance and responsiveness of your apps by using concurrent threads. Begin by examining how threads are created in Python from their initialization to their execution; then learn how to use the various synchronization mechanisms such as locks, semaphores, and events. Next, you will examine how concurrent execution could occur in two ways: multithreading and parallel. You will learn to use multithreading to run chunks of each task at one time, and then switch between them regularly. You will learn multiprocessing of threads by executing tasks in parallel. Learners will examine concurrent execution of threads, and some of the issues that arise when these threads are not synchronized. Finally, you will examine several threads of synchronization mechanisms available in Python such as locks, semaphores, events, and conditions and explore the properties and use cases for each of these objects.

Python Concurrent Programming: Multiprocessing in Python

This course is a lab-only exploration of the creation and management of processes in Python to speed up the execution of your programs. In this 10-video course, learners will use Jupyter notebooks to execute all programs demonstrated. First, you will learn how to create initialized threads, and how to do the same with processes in Python. Then you will examine different thread-safe data structures in Python to implement queues, stacks, and priority queues. Next, you will learn how to use Python for synchronization mechanisms and inter-process communication, and will see a comparison of processes to threads. You will learn to use Python's built-in queue data structure for multithreaded applications, and how to implement multiprocessing. Continue by learning how processes are created and executed and how they differ from threads when one is using shared resources. You will explore how to use a manager class, or service process manager to share any Python types. Finally, you will examine the available mechanisms in Python for communication and synchronization between processes.

Python Concurrent Programming: Asynchronous Executions in Python

This 9-video course offers a lab-only exploration and introduction to the libraries available in Python to run tasks asynchronously by using both processes and threads. To take this course, you should have prior knowledge of how to spawn and manage processes in Python. First, you will learn how to significantly improve the performance and responsiveness of your application by running them concurrently, then learn how to create a process pool, and how to use multiprocessing to execute tasks in parallel. Next, you will learn to use multithreading to run chunks of a task at one time, and to switch between the chunks regularly. Learners will then examine the concurrent.futures module, which contains objects to run threads and processes in an asynchronous manner, and to monitor their progress while they are still executing. Continue by learning how to use ThreadPoolExecutor, available in the concurrent.futures module. Finally, you examine the asyncio module in Python, which provides lightweight mechanisms for asynchronous executions of tasks.

Python Journeyman

In this practice lab, learners will be presented with a series of exercises to practice developing in Python. Exercises include tasks such as testing with pytest, making HTTP requests, serving HTTP requests with a Flask endpoint, and rendering a jinja template. Learners will also practice using multithreading and multiprocessing with Python, processing data in a queue and creating and executing a coroutine with Asyncio.

Learners can also use the environment as an open sandbox. No installation or configuration is required, so you can gain immediate hands-on experience. Create new files or upload your own from a storage location of your choice, such as GitHub, and you can practice coding right away! You can even download a copy of your work when you’re done.

Whether you’re looking to dive into the code presented within our courses or you want to work on your own coding projects, this lab environment will provide you with everything you need. So, go ahead and start coding today!

Final Exam: Python Journeyman

This final exam will test your understanding and application of the skills covered in the Python Journeyman track of the Python Novice to Pythonista Aspire Journey.

Course options

We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.

Optional practice exam (trial exam)

To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam. 

Optional practice lab

To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediatelyThe lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience. 

WHY_ICTTRAININGEN

Via ons opleidingsconcept bespaar je tot 80% op trainingen

Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo

Spar met medecursisten en profileer je als autoriteit in je vakgebied.

Ontvang na succesvolle afronding van je cursus het officiële certificaat van deelname van Icttrainingen.nl

Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers

Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten

Orderproces

Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.

read more about the order process

What is included?

Certificate of participation Yes
Monitor Progress Yes
Mobile ready Yes
Sharing knowledge Unlimited access to our IT professionals community
Study advice Our consultants are here for you to advice about your study career and options
Study materials Certified teachers with in depth knowledge about the subject.
Service World's best service

Platform

Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.

Life Long Learning

Follow multiple courses? Read more about our Life Long Learning concept

read more

Contact us

Need training advise? Contact us!


contact