Effective PyCharm: Learn the PyCharm IDE with a Hands-on Approach

Huge savings for students

Each student receives a 50% discount off of most books in the HSG Book Store. During class, please ask the instructor about purchase details.
List Price: $49.99
Price: $25.00
You Save: $25.00
9

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 switches we can set to be more effective. Then we're going to jump right into what 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.

Metasnake