Refine your programming techniques and approaches to become a more productive and creative Python programmer. This book explores the concepts and features that will improve not only your code but also your understanding of the Python community with insights and details about the Python philosophy.
Pro Python 3, Third Edition gives you the tools to write clean, innovative code. It starts with a review of some core Python principles, which are illustrated by various concepts and examples later in the book. The first half of the book explores aspects of functions, classes, protocols, and strings, describing techniques which may not be common knowledge, but which together form a solid foundation. Later chapters cover documentation, testing, and app distribution. Along the way, you'll develop a complex Python framework that incorporates ideas learned throughout the book.
Updates in this edition include the role of iterators in Python 3, web scraping with Scrapy and BeautifulSoup, using Requests to call web pages without strings, new tools for distribution and installation, and much more. By the end of the book you'll be ready to deploy uncommon features that can take your skills to the next level in Python.
What You'll Learn
- Implement programs with various types of Python functions
- Work with classes and object-oriented programming
- Use strings from the standard library and third-party libraries
- Harvest web site data with Python
- Automate unit testing by writing a test suite
- Review imaging, random number generation, and NumPy scientific extensions
- Understand The Zen of Python documentation to help you decide the best way to distribute your code
Who This Book Is For
Intermediate programmers familiar with Python who are looking to move to an advanced level. You should have written at least a simple Python application, and be comfortable with a basic object-oriented approach, using the interactive interpreter, and writing control structures.
Dr. J. Burton Browning earned his doctorate from North Carolina State University. He has conducted research in areas including: distance learning, programming, and instructional technology. As a life-long learner and someone who has interests in topics such as: programming, photography, robotics, car restoration, wood working, hunting, reading, fishing, and archery, he is never at a loss for something to do. The art and joy of serving as a professor suits his inquisitive nature. Dr. Browning's previous publications include works on Cross-Functional Learning Teams (CFLT), The Utopian School (teacher-led school model), computer programming (several languages), open-source software, healthcare statistics and data mining, CNC plasma cutter operation, educational technology, biography, mobile learning, online teaching, and more.
By day, Marty Alchin works as a senior software engineer at Heroku, and after that, he writes and codes for fun and community. His blog can be found at http://martyalchin.com/ and he has profiles on many other services under the name Gulopine. In particular, his code can be found on GitHub and his random thoughts are on Twitter.