Really, why is it so important to learn Python?
I believe that it's for three main reasons.
The first is that Python is extremely practical.
It has widely applicable uses in an extraordinary number of fields.
If you look at data analysis,
Python is used to manipulate log files,
to extract patterns from data,
to interpret user actions or aggregate product reviews.
If you ever have data and you like to perform some analysis on it,
Python is a great first choice for the job.
Python is also hugely useful when it comes to machine learning.
There are a number of great machine learning frameworks that bring
the complicated concepts of machine learning to
the forefront with a simple Python interface.
I think that the rise of machine learning
has been tied to the rise of Python very closely,
and Python owes a lot of credit to
machine learning for making it such a popular language.
Python is also surprisingly useful for the Internet.
There are great Python frameworks to serve data,
and there are great Python libraries to access networked information,
getting information from other people's services,
or scraping information from other people's websites.
Finally, Python is great for automation,
it can automate the boring stuff away.
When it comes to file sanitation or converting files between formats,
automating reminders or emails,
or even the command line scripts/ normal information technology scripts
you might have to deal within a corporate environment.
Python can be an upgrade to some of the tools that are available for automation.
It can let you build a quick Python script to
solve a specific practical problem and then move on.
Second, Python is a great thing to learn because it makes you employable.
All of the businesses whose logos are appearing on the screen now
use Python and some of them use it as a central programming language.
For example, Instagram's web framework is a Python web framework.
That means that every time you go to Instagram and are browsing images,
Python code is being executed somewhere.
Dropbox is also a great friend to Python,
employing several of the original Python creators
and frequently contributing back to the language itself.
Google and some of the other companies here use Python as
glue scripts to hold together other programming features.
It's such a useful and practical skill to have that
Google employs and employees in some other companies can use
these scripts and can use Python programming to smooth
out any rough edges in large scaled systems.
Python, being a high-level programming language,
is also a particularly good choice for technical interview questions.
In my experience, several technical interview questions
can be answered with just a few lines
of Python code if you're aware of all of the powerful tools that Python provides.
Lastly, and this might just be my opinion, shining through.
Python can make you a much more powerful thinker.
I'm a better thinker and a better problem solver,
a better programmer, and a better engineer because I know Python.
The high-level tools supplied by Python,
let me spend more time thinking about a problem
rather than thinking about the exact details of the solution.
It abstracts you away from some of the messier details of a system,
and if you need to revisit them, you can.
But it lets you stand further away from some of the inherent complexities of a problem,
so you can approach new challenges from first principles.
Learning Python, I believe,
make you a better programmer and a better thinker.
In this particular course, though,
we're going to be focusing on several learning objectives as we
build our way towards a good base of Python knowledge.
The most important thing is that you learn to create
Python programs that can solve practical challenges.
Several of our videos will focus on details about the Python language.
The exercises will be a transition where you can practice using
the Python concepts we've learned to solve real-world challenges.
We'll also learn how to evaluate and produce good Python,
identifying common traps and
common success stories that can characterize safe or unsafe Python code.
Then we'll learn the skills that let us analyze Python program for correct behavior.
This is basically the skill that lets you debug Python code.
If you understand what's Python's doing,
every time you take one step forward,
you can easily follow
Python programs execution to identify the source of any unwanted errors.
Finally, we'll find ways to apply new skills with our Python fundamentals.
We'll take the fundamentals that we learned about early on and rapidly
build on them to develop more advanced Python topics.