Effective PyCharm Transcripts
Chapter: Why PyCharm and IDEs?
Lecture: What we'll cover
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
Let's jump right in by talking about what we're going to cover during this course we have so many things we're going to focus on.
0:06
We're gonna start with our very next topic right away after this by talking about why
0:11
You would want to work with an Integrated Development Environment often shortened to IDE's. That's what PyCharm is. There are many of these out there.
0:19
There's also more light lightweight editors and we're going to see the trade offs that you
0:23
Might choose. We're also going to talk about how you go learning all the features Of a large piece of software like an IDE.
0:29
Then we're going to focus on Projects. In Python So often we have a loose set of files that are contained in a directory or
0:37
larger projects, multiple subdirectories and that structure and those file names mean things.
0:43
They don't just organize the code but they actually control what could we write? What are the name spaces? Well the name spaces are the modules.
0:51
The modules are simply the folder names and things like that. PyCharm has great support for working with code.
0:58
Not just as a standalone Python file but to treat your entire collection of files as
1:04
a single application. You often hear about people talk about what we're gonna use this Python script to do that thing.
1:10
People don't talk about Scripting and PyCharm. I think more in terms of applications. Right. And that's projects are sort of the heart of this here.
1:19
The part you're going to care the most about will be the editor and of course
1:22
we would start there if we didn't really need to talk about projects first, the editor has so many features and so many things that it can do for us
1:29
It can write code, it can find errors. It will highlight code and it will also integrate many of the other things that we're
1:37
going to talk about later. Databases, Source Control, all kinds of stuff.
1:40
So the editor is really going to be featured throughout the entire course but we're going
1:44
to spend chapter just drilling into the cool features of the editor itself. Source Control is omnipresent in PyCharm.
1:52
It has support for all the popular types of Source control SVN, Git and many many others. So when you work with your code,
2:01
you'll see that in the editor we see things about the source control status of the
2:05
code that we're working on. And it also has built in support for things like GIT Hub said Git also Git hub itself for example,
2:13
working with issues in Git hub. Working with poor requests. You'll see that you can look and say here's the list
2:18
of pull requests. Let me just click this button and try that pull request out as it would be if I integrated it in my editor.
2:25
Rather than actually going to GitHub and doing all the steps to try out the PR. All sorts of cool Source Control Integration stuff.
2:31
We're going to talk about it. There Refactoring is one of my favorite topics. People so often get hung up about writing software.
2:37
Exactly right. And when you're getting started, you often don't know what is exactly right.
2:42
You don't fully understand the problem space and all the little nuances until you're part way
2:46
down the road. So instead of overthinking it and trying to plan out for all the possible eventualities, you just write your code,
2:53
you get it working if it needs to change, you Re factor it. Often Refactoring might mean changing the code by hand and hoping
3:00
you get it right. But with PyCharm, there are many, many tools that allow you to re factor it in a way
3:05
that's completely safe not find in files and replace text but understand the abstract syntax tree
3:11
and actually only change the symbols that are truly the same thing. Not just have the same text.
3:16
Databases are a super important part of many many applications. And PyCharm has really cool support for it. You can create databases in here,
3:25
you can connect to them do queries against them. The query console has auto complete and understands not just the SQL keywords,
3:33
but even the schema of your tables and their relationships and create diagrams and understand the relationships between tables within our database.
3:41
And there's even one really cool trick that brings many of those features actually to embedded
3:46
SQL within your Python code. So if you have a string in Python that happens to be represented a database query,
3:53
you'll see you get all kinds of support for that as well,
3:55
which it's completely mind blowing. Python is a really important way to build web applications and PyCharm of course supports that.
4:04
We have great older frameworks like Flask and Django as well as fancy new ones like FastAPI and others,
4:12
PyCharm has amazing support for all of these frameworks and you'll see not just the Python side but the website as well.
4:18
The HTML, the templates like Jinja or Django templates, the Javascript, you're gonna be using, the CSS that's used throughout those templates.
4:27
All kinds of cool stuff for building server side. Web frameworks, all sorts of cool stuff for building service side web app,
4:33
but it also has support for front end frameworks like Vue.Js and React and so on. If you're working on a single page app or something like that,
4:40
you're going to get a ton of support in the javascript side, even though it's called PyCharm,
4:45
it helps you a lot on the web in javascript in all those areas. One of the things I really like about an IDE is if something goes wrong,
4:52
you can set a breakpoint and say debug this in my editor. You don't have to jump into some terminal and see things line by line or do
5:00
a bunch of print statements. The debugging support PyCharm is top of the field
5:03
there's really, really awesome support for quickly understanding what the state of your application
5:08
is, and moving around and even changing it to explore different situations. While a group of files in a directory can represent an application.
5:17
If you want to create a library, you distribute around over PyPI and other mechanisms, you really want to create what's called a Python Package.
5:25
So these are the things that you pip install. And PyCharm has special support for working with existing packages and creating new packages that
5:33
you can put onto PyPI. When our code is slow, we could try to figure out what's wrong trying to
5:38
make it faster, but usually the right thing to do is run a tool against it to see where it's spending its time and then go to the spot where it's
5:46
spending all this time to make that one part fast. Our intuition is often wrong about where we need to spend our time and energy to
5:52
improve the speed and the tool that we use for that is of course Profiling and
5:57
PyCharm has really cool support for both feeding reports as well as visual representations of
6:03
where our code is slow. If you want to write reliable software and especially if you're
6:07
working in a team, you need to have Unit tests and PyCharm has amazing support for all the popular Unit test framework has built in unittest.
6:16
It has pytest and many others on top of that. It has a unified test runner that lets you do things like run a test run
6:23
many tests run just the failed test and even just continually run the test against your
6:28
app as you develop it. Very cool stuff. We're going to see in the testing chapter.
6:33
There's also a couple of other things that I don't know where they fit. They don't belong to any of these particular categories,
6:38
but they're worth talking about and they're worth spending a little bit of time on.
6:41
So we're gonna spend a final chapter here just doing like kind of a grab bag
6:45
of awesome features and tools that you should know about that don't fit clearly into profiling
6:50
or web or whatever. And finally we're going to see how to take Py Charm as it is an extended to be even more.
6:57
There are many, many plug ins that we can add to PyCharm to make it exactly like we want. You wish it had Vim key bindings Well you can
7:05
get the Vim plug in, you wish that it had AI- based refactoring support well, you can get a plug in for that.
7:11
There's all kinds of cool things to extend the type of files that understands and other
7:15
capabilities. We're gonna do a little quick survey of some of the cool plug ins
7:18
that you can get for PyCharm. That's it. We're going to talk about so many things. There's so much to cover as you go through this course.
7:25
I think you're going to really see how PyCharm can do more and more for you as you work on your Python apps.