What kind of book is the best-selling "Python Crash Course" in the world?

Table of Contents

  1. [Introduction](# orgf45f314)
  2. [Introduction to Python Crash Course](# orge0b0a69)
  3. [Conclusion](# org98c548b)
  4. [Structure of this document](# org187ab0b) 1. Part I: BASICS 2. Part II: PROJECTS
  5. [Advantages](# org4a3530e)
  6. [Easy to understand](# orgd793aef)
  7. [Abundant hands-on](# org86f5ab1)
  8. [Practical project](# org87ed0e7)
  9. [Read technical books in English](# orgd83e58a)
  10. [At the end](# orgbb3c216)

Introduction

If you search for Python recommended books in English, you will find most of them on every website [Python Crash Course: A Hands-On, Project-Based Introduction to Programming](https://www.amazon.com/Python-Crash]. -Course-Hands-Project-Based / dp / 1593276036), Eric Matthes. Even if you look at Amazon's review, it is highly acclaimed, and according to the official site, it is the best-selling Python book in the world.

Python Crash Course is the world’s best-selling guide to the Python programming language.

I used this book to get started with Python. In this article, I would like to introduce you to the Python Crash Course.

This article was also posted on https://achiwa912.github.io/.

Introducing the Python Crash Course

pcc_title.png

Conclusion

Suddenly, the Python Crash Course (hereafter abbreviated as Crash Course) was a very good introduction to Python. I think it is recommended for beginners of all levels. The following points are particularly excellent.

--Abundant hands-on --Three different practical projects --Polite and easy-to-understand explanation

Structure of this book

The Crash Course is divided into two parts, Part I: BASICS and PART II: PROJECTS.

Part I: BASICS

Part I describes the basics of Python. As the title of the book includes "hands-on", enter the code snippets and let the body (hand) remember what you understood with your head while actually moving it. I'm also good at putting out code snippets. The part of one file comes out little by little, and the amount to be input at one time is also a good idea. pcc_snippets.png

At the end of each relatively short chapter, there is a hands-on called TRY IT YOURSELF, which will be reviewed in a short cycle. Repeating is important for the body to remember and settle, but I think that the amount of hands-on is sufficient for that purpose. pcc_tryit.png

Part II: PROJECTS

Part II uses the basic knowledge of Python learned in Part I to create a program that is organized to some extent in a project format. This was practical and very fun.

The first project will create a shooting game similar to the Invaders game. Use pygame as the game library. Personally, this was a hit. When I finished the project, I decided to stop reading and make a game. (Although I endured it and recommended up to Project 3)

Python is said to be battery included, and there are many non-standard libraries. It is also important to learn how to install and use the library. The project will show you how to use the library.

In the project, we will make it little by little like normal development. At first, just display the bitmap of your own machine, then move it with the key, display one enemy, display a lot in a loop, hit a bullet, defeat the enemy, etc. It's fun to be able to program little by little.

As the program grows, refactoring is also learned as hands-on. Cut out the part that is too long as a function and make it independent. It's an introduction to Python, but it also covers these general requirements for software development.

The next project will visualize the data available on the net using a library such as matplotlib. Do something like the basics of scraping basics. This project is practical and ready to go, but I felt a little lacking in digging. Is it overkill to ask for that much in the introductory book? .. .. Again, what you've learned in this project is immediately applicable.

The final project uses Django to create something like a dynamic blog generator. It's an ambitious project, but the difficulty suddenly increases, probably because of the lack of space in this book. The hard part is how to use Django, not Python. It's hard to write a lot of unfamiliar Django config files and html files, and debugging when it doesn't work is even harder.

Personally, I repeated the hands-on of the text twice, and even TRY IT YOURSELF, I finally understood how to use Django. I also left this book to find out about Django on the Web. I think that if you do so far, you will gain a lot of power.

Advantages

Easy to understand

Besides this book, I've only read Introducing Python There may be. However, even so, the explanation of Crash Course was very easy to understand.

Sometimes the explanation is good, but the method of narrowing down the content to be explained is also good. While there isn't much written about branches and leaves, important things come up repeatedly. The first clarity is especially important because this book is a style that first explains the basic concepts (for example, "what is a list") and then establishes it with repeated hands-on.

Abundant hands-on

When a beginner who just read the introductory book tries to code, he is worried about "how to turn the for loop", "else if, elif", "do you need": "?" (Only me?). And when I try to move it and get an error, I don't understand the meaning of the error message, and I have no idea what is wrong. In this way, I think there are surprisingly many patterns that can be frustrated.

The only way (I think) to overcome this is to have your body (hands) remember it hands-on. The best thing about this book is that it has a lot of hands-on, so you can remember the things mentioned above before you worry.

Practical project

Alongside the abundance of hands-on, three practical projects are the highlights of this book. Through the project, you can learn not only the basics of Python but also software development comprehensively.

I think there is a gap between the level you just finished the introductory book and the level you can actually code, and the hands-on project fills this gap. It's a little over 500 pages long, but I think it's not too long because it covers content that goes beyond the scope of a general introductory book. (If it is a Japanese book, will it be divided into upper and lower volumes?)

Read technical books in English

The Python Crash Course is a great introduction to Python, but for some reason it hasn't been translated into Japanese. (I think it will sell ...)

Personally, I highly recommend reading English technical books. The English of the technical book is simple, and I think that anyone who is high school student or older and has no English allergies can read it. (Note that the English for Introducing Python mentioned above is a bit difficult, so I wouldn't recommend it to anyone new to reading English. It's a very good book, but it's not a beginner's guide.)

Also, as you become more accustomed to reading English, you will have access to much more technical information on the Internet than in Japanese.

If you want to get started with Python but are looking for a good reference book, why not use the Python Crash Course to get started while studying English?

In addition, you can download Chapter 2 from here. https://nostarch.com/pythoncrashcourse2e The screen shot used these two chapters.

At the end

With the Python Crash Course, I'm finally able to program in Python without frustration. With gratitude, I introduced it in this article.

Recommended Posts

What kind of book is the best-selling "Python Crash Course" in the world?
What kind of programming language is Python?
What is wheezy in the Docker Python image?
Implemented the algorithm of "Algorithm Picture Book" in Python3 (Heapsort)
Python Basic Course (1 What is Python)
What to do if the progress bar is not displayed in tqdm of python
Implemented the algorithm of "Algorithm Picture Book" in Python3 (Bubble Sort)
What is the default TLS version of the python requests module?
What beginners learned from the basics of variables in python
Implemented the algorithm of "Algorithm Picture Book" in Python3 (selection sort)
[Python] What is @? (About the decorator)
What kind of Kernel is this Kernel?
[python] What is the sorted key?
What is the python underscore (_) for?
What to do when the value type is ambiguous in Python?
"Book to train programming skills to fight in the world" Python code answer example --1.4 Permutation of sentences
Check the behavior of destructor in Python
What is the cause of the following error?
The result of installing python in Anaconda
[python] [meta] Is the type of python a type?
In search of the fastest FizzBuzz in Python
Python Basic Course (at the end of 15)
What is the XX file at the root of a popular Python project?
[Example of Python improvement] What is the recommended learning site for Python beginners?
[Introduction to Python] What is the method of repeating with the continue statement?
What is the fastest way to create a reverse dictionary in python?
"A book to train programming skills to fight in the world" Python code answer example --1.9 Rotation of strings
[Python] What to do when PEP8 is violated in the process of importing from the directory added to sys.path
List of language codes used in twitter (including API) (with Python dictionary). What is the most commonly used language?
Output the number of CPU cores in Python
[Python] Sort the list of pathlib.Path in natural sort
What is "functional programming" and "object-oriented" in Python?
How to find out what kind of files are stored in S3 in Python
Match the distribution of each group in Python
The answer of "1/2" is different between python2 and 3
View the result of geometry processing in Python
In Python, change the behavior of the method depending on how it is called
Make a copy of the list in Python
About the difference between "==" and "is" in python
Find the divisor of the value entered in python
This is the only basic review of Python ~ 1 ~
This is the only basic review of Python ~ 2 ~
What is python
Find the solution of the nth-order equation in python
The story of reading HSPICE data in Python
[Note] About the role of underscore "_" in Python
[CleanArchitecture with Python] Apply CleanArchitecture step by step to a simple API and try to understand "what kind of change is strong" in the code base.
About the behavior of Model.get_or_create () of peewee in Python
Solving the equation of motion in Python (odeint)
Output in the form of a python array
This is the only basic review of Python ~ 3 ~
What is Python
[Introduction to statistics] What kind of distribution is the t distribution, chi-square distribution, and F distribution? A little summary of how to use [python]
"A book to train programming skills to fight in the world" Python code answer example --1.2 Count the number of the same characters
"Book to train programming skills to fight in the world" Python code answer example --2.6 palindrome
How to check in Python if one of the elements of a list is in another list
I used Python to find out about the role choices of the 51 "Yachts" in the world.
Experience the good calculation efficiency of vectorization in Python
How to get the number of digits in Python
The story of building the fastest Linux environment in the world
[python] Get the list of classes defined in the module