When learning a new programming language,
one question we need to ask ourselves is what functionality it
provides in its included standard library.
If you think of Python is everything you can use out of the box,
you can think of a standard library as a collection of
code that you can immediately use to do different things
like creating a user interface, making web service calls,
parsing files, or many other tasks.
There are two different philosophies towards providing a standard library.
One philosophy is to provide a very small and minimal
standard library with the language.
A goal of this philosophy is to allow the language and
libraries to evolve separately from each other.
It also enables applications built with the language to only pay
for size and complexity for the features it uses,
instead of a bunch of code that the application never uses.
The downside is that you may have to pull in a fair amount of
not‑included code when building a non‑trivial application.
The other philosophy is to provide a comprehensive standard library.
When learning a new programming language,
a comprehensive standard library provides a lot of room to
experiment with the language with various projects.
You can do this without needing to resort to using
various third‑party libraries,
which helps minimize the amount of learning you
need to do to build your projects.
Some languages may also try to strike a balance between these two philosophies.
Python standard library, of course,
includes much of the basic functionality that many different
types of applications are going to need.
You can find common data structures like collections,
like lists, sets, and dictionaries,
or file I/O that lets you read and write files.
You can work with dates and times, you can do data compression and archiving,
or you might use more domain‑specific features like building user interfaces,
working with CSV or XML files, or working with audio data.
And this is all just the tip of the iceberg.
Python provides great documentation for its standard library as well
where you can go learn more if you're interested.
With the size and quality of Python standard library,
you can write a large number of different programs before you ever need to
expand your skills out into third‑party libraries and tools.