Advanced Guide to Python 3 Programming 2nd Edition delves deeply into a host of subjects that you need to understand if you are to develop sophisticated real-world programs. Each topic is preceded by an introduction followed by more advanced topics, along with numerous examples, that take you to an advanced level.
This second edition has been significantly updated with two new sections on advanced Python language concepts and data analytics and machine learning. The GUI chapters have been rewritten to use the Tkinter UI library and a chapter on performance monitoring and profiling has been added. In total there are 18 new chapters, and all remaining chapters have been updated for the latest version of Python as well as for any of the libraries they use.
There are eleven sections within the book covering Python Language Concepts, Computer Graphics (including GUIs), Games, Testing, File Input and Output, Databases Access, Logging, Concurrency and Parallelism, Reactive Programming, Networking and Data Analytics. Each section is self-contained and can either be read on its own or as part of the book as a whole. It is aimed at those who have learnt the basics of the Python 3 language but wish to delve deeper into Python's eco system of additional libraries and modules.
John Hunt is a technology trainer, consultant, mentor and author who has 35 years experience within the computing industry. He has worked extensively in Object Oriented and Functional technologies using language from Java through C# to Scala and of course Python. John was first involved with Python while working with a FinTech company in 2010. Since then he has been involved in numerous Python projects and has worked with a number of companies helping to develop their Python skills.
Introduction.- Part 1: Advanced language features.- Python type hints.- Class slots.- Weak references.- Data classes.- Structural pattern matching.- Working with pprint.- Shallow v deep copy.- The __init__versus __new__ and __call__.- Python metaclasses and meta programming.- Part 2: Computer graphics and GUIs.- Introduction to computer graphics.- Python turtle graphics.- Computer generated art.- Introduction to Matplotlib.- Graphing with Matplotlib pyplot.- Graphical user interfaces.- Tkinter GUI library.- Events in Tkinter user interfaces.- PyDraw Tkinter example application.- Part 3: Computer graphics and GUIs.- Introduction to games programming.- Building games with pygame.- StarshipMeteors pygame.- Part 4: Testing.- Introduction to testing.- PyTest testing framework.- Mocking for testing.- Part 5: File Input / Output.- Introduction to files, paths and IO.- Reading and writing files.- Stream IO.- Working with CSV files.- Working with excel files.- Regular expressions in Python.- Part 6: Database access.- Introduction to databases.- Python DB-API.- PyMySQL module.- Part 7: Logging.- Introduction to logging.- Logging in Python.- Advanced logging.- Part 8: Concurrency and parallelism.- Introduction to concurrency and parallelism.- Threading.- MultiProcessing.- Inter thread / Process synchronisation.- Futures.- Concurrency with AsyncIO.- Performance monitoring and profiling.- Part 9: Reactive programming.- Reactive programming introduction.- RxPy observables, observers and subjects.- RxPy operators.- Part 10: Network programming.- Introduction to sockets and web services.- Sockets in Python.- Web services in Python.- Flask web services.- Flask bookshop web service.- Part 11: Data analytics and machine learning.- Introduction to data science.- Pandas and data analytics.- Alternatives to pandas.- Machine learning in Python.- Pip and Conda virtual environments.