Effective Python


Book Description




Effective Python


Book Description

Effective Python will help students harness the full power of Python to write exceptionally robust, efficient, maintainable, and well-performing code. Utilizing the concise, scenario-driven style pioneered in Scott Meyers's best-selling Effective C++, Brett Slatkin brings together 53 Python best practices, tips, shortcuts, and realistic code examples from expert programmers. Each section contains specific, actionable guidelines organized into items, each with carefully worded advice supported by detailed technical arguments and illuminating examples.




Fluent Python


Book Description

Python’s simplicity lets you become productive quickly, but this often means you aren’t using everything it has to offer. With this hands-on guide, you’ll learn how to write effective, idiomatic Python code by leveraging its best—and possibly most neglected—features. Author Luciano Ramalho takes you through Python’s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time. Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3. This book covers: Python data model: understand how special methods are the key to the consistent behavior of objects Data structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode age Functions as objects: view Python functions as first-class objects, and understand how this affects popular design patterns Object-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritance Control flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packages Metaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work




Effective Python


Book Description

“Each item in Slatkin’s Effective Python teaches a self-contained lesson with its own source code. This makes the book random-access: Items are easy to browse and study in whatever order the reader needs. I will be recommending Effective Python to students as an admirably compact source of mainstream advice on a very broad range of topics for the intermediate Python programmer.” —Brandon Rhodes, software engineer at Dropbox and chair of PyCon 2016-2017 It’s easy to start coding with Python, which is why the language is so popular. However, Python’s unique strengths, charms, and expressiveness can be hard to grasp, and there are hidden pitfalls that can easily trip you up. Effective Python will help you master a truly “Pythonic” approach to programming, harnessing Python’s full power to write exceptionally robust and well-performing code. Using the concise, scenario-driven style pioneered in Scott Meyers’ best-selling Effective C++, Brett Slatkin brings together 59 Python best practices, tips, and shortcuts, and explains them with realistic code examples. Drawing on years of experience building Python infrastructure at Google, Slatkin uncovers little-known quirks and idioms that powerfully impact code behavior and performance. You’ll learn the best way to accomplish key tasks, so you can write code that’s easier to understand, maintain, and improve. Key features include Actionable guidelines for all major areas of Python 3.x and 2.x development, with detailed explanations and examples Best practices for writing functions that clarify intention, promote reuse, and avoid bugs Coverage of how to accurately express behaviors with classes and objects Guidance on how to avoid pitfalls with metaclasses and dynamic attributes More efficient approaches to concurrency and parallelism Better techniques and idioms for using Python’s built-in modules Tools and best practices for collaborative development Solutions for debugging, testing, and optimization in order to improve quality and performance




Effective Computation in Physics


Book Description

More physicists today are taking on the role of software developer as part of their research, but software development isnâ??t always easy or obvious, even for physicists. This practical book teaches essential software development skills to help you automate and accomplish nearly any aspect of research in a physics-based field. Written by two PhDs in nuclear engineering, this book includes practical examples drawn from a working knowledge of physics concepts. Youâ??ll learn how to use the Python programming language to perform everything from collecting and analyzing data to building software and publishing your results. In four parts, this book includes: Getting Started: Jump into Python, the command line, data containers, functions, flow control and logic, and classes and objects Getting It Done: Learn about regular expressions, analysis and visualization, NumPy, storing data in files and HDF5, important data structures in physics, computing in parallel, and deploying software Getting It Right: Build pipelines and software, learn to use local and remote version control, and debug and test your code Getting It Out There: Document your code, process and publish your findings, and collaborate efficiently; dive into software licenses, ownership, and copyright procedures




Beyond the Basic Stuff with Python


Book Description

BRIDGE THE GAP BETWEEN NOVICE AND PROFESSIONAL You've completed a basic Python programming tutorial or finished Al Sweigart's bestseller, Automate the Boring Stuff with Python. What's the next step toward becoming a capable, confident software developer? Welcome to Beyond the Basic Stuff with Python. More than a mere collection of advanced syntax and masterful tips for writing clean code, you'll learn how to advance your Python programming skills by using the command line and other professional tools like code formatters, type checkers, linters, and version control. Sweigart takes you through best practices for setting up your development environment, naming variables, and improving readability, then tackles documentation, organization and performance measurement, as well as object-oriented design and the Big-O algorithm analysis commonly used in coding interviews. The skills you learn will boost your ability to program--not just in Python but in any language. You'll learn: Coding style, and how to use Python's Black auto-formatting tool for cleaner code Common sources of bugs, and how to detect them with static analyzers How to structure the files in your code projects with the Cookiecutter template tool Functional programming techniques like lambda and higher-order functions How to profile the speed of your code with Python's built-in timeit and cProfile modules The computer science behind Big-O algorithm analysis How to make your comments and docstrings informative, and how often to write them How to create classes in object-oriented programming, and why they're used to organize code Toward the end of the book you'll read a detailed source-code breakdown of two classic command-line games, the Tower of Hanoi (a logic puzzle) and Four-in-a-Row (a two-player tile-dropping game), and a breakdown of how their code follows the book's best practices. You'll test your skills by implementing the program yourself. Of course, no single book can make you a professional software developer. But Beyond the Basic Stuff with Python will get you further down that path and make you a better programmer, as you learn to write readable code that's easy to debug and perfectly Pythonic Requirements: Covers Python 3.6 and higher




Python for DevOps


Book Description

Much has changed in technology over the past decade. Data is hot, the cloud is ubiquitous, and many organizations need some form of automation. Throughout these transformations, Python has become one of the most popular languages in the world. This practical resource shows you how to use Python for everyday Linux systems administration tasks with today’s most useful DevOps tools, including Docker, Kubernetes, and Terraform. Learning how to interact and automate with Linux is essential for millions of professionals. Python makes it much easier. With this book, you’ll learn how to develop software and solve problems using containers, as well as how to monitor, instrument, load-test, and operationalize your software. Looking for effective ways to "get stuff done" in Python? This is your guide. Python foundations, including a brief introduction to the language How to automate text, write command-line tools, and automate the filesystem Linux utilities, package management, build systems, monitoring and instrumentation, and automated testing Cloud computing, infrastructure as code, Kubernetes, and serverless Machine learning operations and data engineering from a DevOps perspective Building, deploying, and operationalizing a machine learning project




Effective PyCharm


Book Description

Hello and welcome to Effective PyCharm. In this book, we're going to look at all the different features of one of the very best environments for interacting and creating Python code, PyCharm. PyCharm is an IDE (integrated development environment) and this book will teach you how you can make the most of this super powerful editor.The first thing we are going to talk about is why do we want to use an IDE in the first place? What value does a relatively heavyweight application like PyCharm bring and why would we want to use it? There are many features that make PyCharm valuable. However, let's begin by talking about the various types of editors we can use and what the trade-offs are there.We're going to start by focusing on creating new projects and working with all the files in them. You'll see there's a bunch of configuration switcheswe can set to be more effective. Then we're going to jump right intowhat I would say is the star of the show--the editor.If you're writing code, you need an editor. You will be writing a lot of code. This includes typing new text and manipulating existing text. The editor has to be awesome and aid you in these tasks. We're going to focus on all the cool features that the PyCharm editor offers. We'll see that source control in particular, Git and Subversion are deeply integrated into PyCharm. There are all sorts of powerful things we can do beyond git, including actual GitHub integration. We are going to focus on source control and the features right inside the IDE.PyCharm is great at *refactoring*. Refactoring code is changing our code to restructure it in a different way, to use a slightly different algorithm, while not actually changing the behavior of the code. There are many powerful techniques in PyCharm that you can use to do this. Because it understands all of your files at once, it can safely refactor. It will even refactor doc strings and other items that could be overlooked without a deep understanding of code structures.There is powerful database tooling in PyCharm. You can interact with most databases including SQLite, MySQL, and Postgres. You can edit the data, edit the schemes, run queries and more. Because PyCharm has a deep understanding of your code, there is even integration between your database schema and the Python text editor. Note that PyCharm has a free version and a professional version. The database features are only available in the professional version.PyCharm is excellent at building web applications using libraries like Django, Pyramid, or Flask. It also has a full JavaScript editor and environment so you can use TypeScript or CoffeeScript. We'll look into both server-side and client-side features.PyCharm has a great visual debugger, and we are going to look at all the different features of it. You can use it to debug and understand your application. It has powerful breakpoint operations and data visualization that typically editors don't have.Profiling is a common task if you want to understand how your code is running. If your application is slow and you want it to go faster, you shouldn't guess where it is slow. PyCharm makes it easy to look at the code determine what it fast and slow, rather than relying on our intuition which may be flawed. PyCharm has some tremendous built-in visual types of tools for us to fundamentally understand the performance of our app.PyCharm has built-in test runners for pytest, unittest, and a number of Python testing frameworks. If you are doing any unit testing or integration testing, PyCharm will come to your aid. For example, one feature you can turn on is auto test execution. If you are changing certain parts of your code, PyCharm will automatically re-run the tests. There are a couple of additional tools that don't really land in any of the above categories. There is a chapter with the additional tools at the end.




Python Tricks


Book Description

"I don't even feel like I've scratched the surface of what I can do with Python" With Python Tricks: The Book you'll discover Python's best practices and the power of beautiful & Pythonic code with simple examples and a step-by-step narrative. You'll get one step closer to mastering Python, so you can write beautiful and idiomatic code that comes to you naturally. Learning the ins and outs of Python is difficult-and with this book you'll be able to focus on the practical skills that really matter. Discover the "hidden gold" in Python's standard library and start writing clean and Pythonic code today. Who Should Read This Book: If you're wondering which lesser known parts in Python you should know about, you'll get a roadmap with this book. Discover cool (yet practical!) Python tricks and blow your coworkers' minds in your next code review. If you've got experience with legacy versions of Python, the book will get you up to speed with modern patterns and features introduced in Python 3 and backported to Python 2. If you've worked with other programming languages and you want to get up to speed with Python, you'll pick up the idioms and practical tips you need to become a confident and effective Pythonista. If you want to make Python your own and learn how to write clean and Pythonic code, you'll discover best practices and little-known tricks to round out your knowledge. What Python Developers Say About The Book: "I kept thinking that I wished I had access to a book like this when I started learning Python many years ago." - Mariatta Wijaya, Python Core Developer "This book makes you write better Python code!" - Bob Belderbos, Software Developer at Oracle "Far from being just a shallow collection of snippets, this book will leave the attentive reader with a deeper understanding of the inner workings of Python as well as an appreciation for its beauty." - Ben Felder, Pythonista "It's like having a seasoned tutor explaining, well, tricks!" - Daniel Meyer, Sr. Desktop Administrator at Tesla Inc.




The Quick Python Book


Book Description

Introduces the programming language's syntax, control flow, and basic data structures and covers its interaction with applications and mangement of large collections of code.