Advanced Python Programming - Dr. Gabriele Lanaro, Quan Nguyen, Sakis Kasampalis

Advanced Python Programming

Build high performance, concurrent, and multi-threaded apps with Python using proven design patterns
Buch | Softcover
672 Seiten
2019
Packt Publishing Limited (Verlag)
978-1-83855-121-6 (ISBN)
33,65 inkl. MwSt
Studibuch Logo

...gebraucht verfügbar!

With this Learning Path, you will gain complete knowledge to solve problems by building high performing applications loaded with asynchronous, multithreaded code and proven design patterns.
Create distributed applications with clever design patterns to solve complex problems

Key Features

Set up and run distributed algorithms on a cluster using Dask and PySpark
Master skills to accurately implement concurrency in your code
Gain practical experience of Python design patterns with real-world examples

Book DescriptionThis Learning Path shows you how to leverage the power of both native and third-party Python libraries for building robust and responsive applications. You will learn about profilers and reactive programming, concurrency and parallelism, as well as tools for making your apps quick and efficient. You will discover how to write code for parallel architectures using TensorFlow and Theano, and use a cluster of computers for large-scale computations using technologies such as Dask and PySpark. With the knowledge of how Python design patterns work, you will be able to clone objects, secure interfaces, dynamically choose algorithms, and accomplish much more in high performance computing.

By the end of this Learning Path, you will have the skills and confidence to build engaging models that quickly offer efficient solutions to your problems.

This Learning Path includes content from the following Packt products:



Python High Performance - Second Edition by Gabriele Lanaro
Mastering Concurrency in Python by Quan Nguyen
Mastering Python Design Patterns by Sakis Kasampalis

What you will learn

Use NumPy and pandas to import and manipulate datasets
Achieve native performance with Cython and Numba
Write asynchronous code using asyncio and RxPy
Design highly scalable programs with application scaffolding
Explore abstract methods to maintain data consistency
Clone objects using the prototype pattern
Use the adapter pattern to make incompatible interfaces compatible
Employ the strategy pattern to dynamically choose an algorithm

Who this book is forThis Learning Path is specially designed for Python developers who want to build high-performance applications and learn about single core and multi-core programming, distributed concurrency, and Python design patterns. Some experience with Python programming language will help you get the most out of this Learning Path.

Dr. Gabriele Lanaro is passionate about good software and is the author of the chemlab and chemview open source packages. His interests span machine learning, numerical computing visualization, and web technologies. In 2013, he authored the first edition of the book High Performance Python Programming. He has been conducting research to study the formation and growth of crystals using medium and large-scale computer simulations. In 2017, he obtained his PhD in theoretical chemistry. Quan Nguyen is a Python enthusiast and data scientist. Currently, he works as a data analysis engineer at Micron Technology, Inc. With a strong background in mathematics and statistics, Quan is interested in the fields of scientific computing and machine learning. With data analysis being his focus, Quan also enjoys incorporating technology automation into everyday tasks through programming. Quan's passion for Python programming has led him to be heavily involved in the Python community. He started as a primary contributor for the Python for Scientists and Engineers book and various open source projects on GitHub. Quan is also a writer for the Python software foundation and an occasional content contributor for DataScience.com (part of Oracle). Sakis Kasampalis is a software engineer living in the Netherlands. He is not dogmatic about particular programming languages and tools; his principle is that the right tool should be used for the right job. One of his favorite tools is Python because he finds it very productive. Sakis has also technically reviewed the Mastering Object-oriented Python and Learning Python Design Patterns books, both published by Packt Publishing.

Table of Contents

Benchmarking and Profiling
Pure Python Optimizations
Fast Array Operations with NumPy and Pandas
C Performance with Cython
Exploring Compilers
Implementing Concurrency
Parallel Processing
Advanced Introduction to Concurrent and Parallel Programming
Amdahl's Law
Working with Threads in Python
Using the with Statement in Threads
Concurrent Web Requests
Working with Processes in Python
Reduction Operators in Processes
Concurrent Image Processing
Introduction to Asynchronous Programming
Implementing Asynchronous Programming in Python
Building Communication Channels with asyncio
Deadlocks
Starvation
Race Conditions
The Global Interpreter Lock
The Factory Pattern
The Builder Pattern
Other Creational Patterns
The Adapter Pattern
The Decorator Pattern
The Bridge Pattern
The Facade Pattern
Other Structural Patterns
The Chain of Responsibility Pattern
The Command Pattern
The Observer Pattern

Erscheinungsdatum
Verlagsort Birmingham
Sprache englisch
Maße 75 x 93 mm
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Theorie / Studium
ISBN-10 1-83855-121-2 / 1838551212
ISBN-13 978-1-83855-121-6 / 9781838551216
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich