Advanced Python Programming : Accelerate your Python programs using proven techniques and design patterns, 2/e (Paperback)
暫譯: 進階 Python 程式設計:使用經驗法則和設計模式加速您的 Python 程式,第二版(平裝本)

Nguyen, Quan

  • 出版商: Packt Publishing
  • 出版日期: 2022-03-25
  • 售價: $1,800
  • 貴賓價: 9.5$1,710
  • 語言: 英文
  • 頁數: 606
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1801814015
  • ISBN-13: 9781801814010
  • 相關分類: Python程式語言Design Pattern
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

Write fast, robust, and highly reusable applications using Python's internal optimization, state-of-the-art performance-benchmarking tools, and cutting-edge libraries

Key Features

- Benchmark, profile, and accelerate Python programs using optimization tools
- Scale applications to multiple processors with concurrent programming
- Make applications robust and reusable using effective design patterns

Book Description

Python's powerful capabilities for implementing robust and efficient programs make it one of the most sought-after programming languages.

In this book, you'll explore the tools that allow you to improve performance and take your Python programs to the next level.

This book starts by examining the built-in as well as external libraries that streamline tasks in the development cycle, such as benchmarking, profiling, and optimizing. You'll then get to grips with using specialized tools such as dedicated libraries and compilers to increase your performance at number-crunching tasks, including training machine learning models.

The book covers concurrency, a major solution to making programs more efficient and scalable, and various concurrent programming techniques such as multithreading, multiprocessing, and asynchronous programming.

You'll also understand the common problems that cause undesirable behavior in concurrent programs.

Finally, you'll work with a wide range of design patterns, including creational, structural, and behavioral patterns that enable you to tackle complex design and architecture challenges, making your programs more robust and maintainable.

By the end of the book, you'll be exposed to a wide range of advanced functionalities in Python and be equipped with the practical knowledge needed to apply them to your use cases.

What you will learn

- Write efficient numerical code with NumPy, pandas, and Xarray
- Use Cython and Numba to achieve native performance
- Find bottlenecks in your Python code using profilers
- Optimize your machine learning models with JAX
- Implement multithreaded, multiprocessing, and asynchronous programs
- Solve common problems in concurrent programming, such as deadlocks
- Tackle architecture challenges with design patterns

Who this book is for

This book is for intermediate to experienced Python programmers who are looking to scale up their applications in a systematic and robust manner. Programmers from a range of backgrounds will find this book useful, including software engineers, scientific programmers, and software architects.

商品描述(中文翻譯)

**使用 Python 的內部優化、最先進的性能基準工具和尖端庫,快速、穩健且高度可重用地編寫應用程式**

#### 主要特點

- 使用優化工具對 Python 程式進行基準測試、性能分析和加速
- 通過並發編程將應用程式擴展到多個處理器
- 使用有效的設計模式使應用程式穩健且可重用

#### 書籍描述

Python 強大的能力使其能夠實現穩健且高效的程式,這使其成為最受歡迎的程式語言之一。

在本書中,您將探索可以改善性能並將您的 Python 程式提升到新水平的工具。

本書首先檢視內建及外部庫,這些庫簡化了開發週期中的任務,例如基準測試、性能分析和優化。接著,您將學習使用專門的工具,如專用庫和編譯器,以提高數據處理任務的性能,包括訓練機器學習模型。

本書涵蓋了並發性,這是使程式更高效和可擴展的主要解決方案,以及各種並發編程技術,如多執行緒、多處理和非同步編程。

您還將了解導致並發程式出現不良行為的常見問題。

最後,您將學習各種設計模式,包括創建型、結構型和行為型模式,這些模式使您能夠應對複雜的設計和架構挑戰,從而使您的程式更加穩健和可維護。

在書籍結束時,您將接觸到 Python 中各種先進功能,並具備將其應用於您的使用案例所需的實用知識。

#### 您將學到的內容

- 使用 NumPy、pandas 和 Xarray 編寫高效的數值程式碼
- 使用 Cython 和 Numba 實現原生性能
- 使用性能分析工具找出 Python 程式中的瓶頸
- 使用 JAX 優化您的機器學習模型
- 實現多執行緒、多處理和非同步程式
- 解決並發編程中的常見問題,如死鎖
- 使用設計模式應對架構挑戰

#### 本書適合誰

本書適合中級到經驗豐富的 Python 程式設計師,他們希望以系統化和穩健的方式擴展其應用程式。來自不同背景的程式設計師,包括軟體工程師、科學程式設計師和軟體架構師,將會發現本書非常有用。

目錄大綱

1. Benchmarking and Profiling
2. Pure Python Optimizations
3. Fast Array Operations with NumPy and Pandas
4. C Performance with Cython
5. Exploring Compilers
6. Automatic Differentiation and Accelerated Linear Algebra for Machine Learning
7. Implementing Concurrency
8. Parallel Processing
9. Concurrent Web Requests
10. Concurrent Image Processing
11. Building Communication Channels with asyncio
12. Deadlocks
13. Starvation
14. Race Conditions
15. The Global Interpreter Lock
16. The Factory Pattern
17. The Builder Pattern
18. Other Creational Patterns
19. The Adapter Pattern
20. The Decorator Pattern
21. The Bridge Pattern
22. The Facade Pattern
23. Other Structural Patterns
24. The Chain of Responsibility Pattern
25. The Command Pattern
26. The Observer Pattern

目錄大綱(中文翻譯)

1. Benchmarking and Profiling

2. Pure Python Optimizations

3. Fast Array Operations with NumPy and Pandas

4. C Performance with Cython

5. Exploring Compilers

6. Automatic Differentiation and Accelerated Linear Algebra for Machine Learning

7. Implementing Concurrency

8. Parallel Processing

9. Concurrent Web Requests

10. Concurrent Image Processing

11. Building Communication Channels with asyncio

12. Deadlocks

13. Starvation

14. Race Conditions

15. The Global Interpreter Lock

16. The Factory Pattern

17. The Builder Pattern

18. Other Creational Patterns

19. The Adapter Pattern

20. The Decorator Pattern

21. The Bridge Pattern

22. The Facade Pattern

23. Other Structural Patterns

24. The Chain of Responsibility Pattern

25. The Command Pattern

26. The Observer Pattern