Jump to ratings and reviews
Rate this book

Большая книга проектов Python

Rate this book
Вы уже освоили основы синтаксиса Python и готовы программировать? Отточите свои навыки на самых интересных задачах — графике, играх, анимации, расчетах и многом другом. Вы можете экспериментировать, добавляя к готовым проектам собственные детали.
В 256 строк кода поместится все — «винтажная» экранная заставка, забег улиток на скорость, рекламный заголовок-приманка, вращающаяся спираль ДНК и так далее. Добавьте к этому пару строк своего кода, и вы сможете делиться собственными уникальными проектами в интернете.

432 pages, Paperback

Published January 1, 2022

86 people are currently reading
361 people want to read

About the author

Al Sweigart

37 books285 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
36 (56%)
4 stars
19 (29%)
3 stars
6 (9%)
2 stars
2 (3%)
1 star
1 (1%)
Displaying 1 - 22 of 22 reviews
1 review
November 27, 2021
I am an engineering student who, during my first year at university, started learning Python as a hobby using a variety of online resources. Since then, I’ve found that the programming language has come in handy many times when there is something to automate or a large amount of data to work with. My key takeaway has been that, by applying my Python knowledge through actual projects, concepts learned through following tutorials have become solidified in my brain.

I would say that this benefit of learning by doing is what makes The Big Book of Small Python Projects valuable, and I think this is the kind of thing that could have accelerated my learning as a beginner to programming. Sweigart provides 81 projects of varying complexity and size, but which are all well-suited for a learner who has gotten through a series of beginner tutorials in Python and is wondering what to do next.

Each project starts off by introducing the objective and showing the output. Then, Sweigart dives into the code while providing explanations for the algorithms, functions, and modules that make it work. You are encouraged to type out the program yourself and make changes to see how the output is affected. I found that these mini-experiments incorporated into each project were effective checks for understanding, and I can imagine that someone newer to programming would gain a lot of intuition through exploring these exercises. The project topics are engaging and often very amusing — I enjoyed creating an animation of a DNA molecule and replicating the infamous bouncing DVD logo. Those who are interested in games have the opportunity to recreate classics like the Tower of Hanoi, 2048, and Blackjack. Readers can even be exposed to topics across cryptography and mathematics, which could either enhance an existing passion or pave way for a new one. To keep things simple, all of the programs use the terminal to see the output; I was amazed at how far you can go with just this, and I was exposed to some interesting terminal-based Python modules that I will add to my toolbox going forward.

The best way to make use of this book is to glance through the table of contents (or the list of projects sorted by topic in the appendix) and try out what interests you most. Jumping around and seeing how Python can be used to do things that make you excited is a great motivator for coming back and learning more.

If you’re the type of learner who is willing to take the time to deeply understand how programs work, then you will benefit greatly from the creative array of projects presented in this book. I think one thing missing from this resource is the opportunity to have the learner take a problem statement and work through designing a program that meets the criteria on their own. Along the way, they could be guided by hints that suggest an algorithm structure or related Python modules. A sample answer key could be provided at the back or on the book’s website, with an emphasis on trying to solve the problem independently first. Sweigart’s 81 programs provide elegant solutions that teach ways to break down a problem — I think eager learners would be excited to try their hand at some projects which challenge them to arrive at a solution themselves.

If you are a complete beginner, I can highly recommend first working through some or all of Sweigart’s “Automate the Boring Stuff with Python” or Eric Matthes’ “Python Crash Course” — two fantastic introductions to the building-block concepts from No Starch Press. The Big Book of Small Python Projects is an excellent resource that gives advancing Python beginners a collection of interesting ways to apply their understanding of programming concepts and draw inspiration for projects of their own.
1 review1 follower
October 3, 2021
Acquiring programming skills is a difficult task because it has to do directly with the way we think about things, and also because it has many layers of specialization and depth. But it is particularly difficult in the first steps, where you want to turn a set of abstract concepts into solutions to concrete problems. For many, this transition is frustrating because most of the content in the education system is about memorization and repetition. The Big Book of Small Python Projects seeks to help fill that gap for people who are just starting to program by providing examples of small but large enough programs to generate a sense of accomplishment.

This is the latest book by Al Sweigart, an author who enjoys great popularity and recognition, on his website inventwithpython.com you can find a good number of books ranging from a book that invites us to learn programming by developing simple video games "Invent Your Own Computer Games with Python" which is already in its fourth edition, to a book of best practices for professionals "Beyond the Basic Stuff with Python". One of his books "Automate Boring Stuff with Python", which has sold around 300 thousand copies on Amazon, is one of those books that anyone would think that someone should have written before, but no one had dared to do it, here we are guided on the basic tasks to work with resources that are common to almost everyone: working on the file system, manipulating office documents, and interacting with Internet resources.

Sweigart's formula is consistent and effective: we start by reviewing the solution to the problem, which invites us to think about how everything must work behind the scenes, and then he shows us in greater or lesser detail how this solution was constructed. It is obvious that he is not the inventor of this method nor is he the only one who has used it in programming, other good examples are the books "Dive into Python" by Mark Pilgrim where a similar formula is applied with great success.

In "The Big Book" this methodology is applied systematically throughout 81 programs ordered alphabetically, following a brief introduction we find three sections: "The Program in Action" where the author shows an example of program execution, then in "How It Works" he shows us the source code just mentioning implementation details, and "Exploring the Program" where he asks some questions to encourage the reader to deepen the understanding of the program or in some cases, extend it. Most probably the author's intention is not that we advance sequentially from beginning to end, but that among the large number of topics we work on those that call our attention, in this sense it is very useful Appendix A: "Tag Index" where he shows us a classification of the programs based on two systems: by length, and by characteristics.

The result is not a book that intends to explain how Python works, or how programs are built, this has already been done by Sweigart in his previous books, especially in "Invent Your Own Computer Games". "The Big Book of Small Python Projects" should be understood more as a guide to lab experiments where you are given directions on an activity that you should do yourself, or perhaps ideally in a group with friends or work/study colleagues. In this sense, it would not be unreasonable for me to see a Wiki or a GitHub repository where people could post observations or variants of the programs.

Personally, I have very much enjoyed all his books, and have recommended them all at one time or another. And I am also too close to his pedagogical approach that I have largely incorporated into my work as a teacher to offer an objective viewpoint. There are some implementation details that are not to my liking, such as the use of lowerCamelCase for naming variables, functions and methods, which contradicts the PEP8 that most use, or the preferential use of the format method rather than f-strings, but there is an open invitation here for everyone to adjust it to their liking. Beyond any captious remarks, I recommend this book without reservation, not only for individual reading but also as a basis for various collective activities. For example, as a source of ideas for a programming club or a programming camp, as complementary material for a professional training process, and even as inspiration to study other programming languages, I personally have been using it to study Scala.
Profile Image for Anna.
896 reviews22 followers
February 10, 2024
This gave me lots of practice with concepts I wanted to practice- lists, dictionaries, recursion, inputs, yield statements, formatted prints, local and global variable scope.

1 review
July 13, 2021
The Big Book of Small Python Projects – a must have in your private libary


This book is for everyone who has at least a basic understanding of Python and is willing to extend this by building funny projects.

This book will give you 81 Projects from very small to something bigger ones with a wide range of variaty. Where each project is indepent from the other ones so that it is easy to pick up those ones which are the most interresting for you.


And each Project has a section on how it should look like then with a section on how it works with Code (written in typical Al Sweigart way) and a section where you should explore the program to interact and break the code to achieve a learning effect. If you follow the instructions from the exploring section even the intermediate Python developer will get an ahh ohh effect.


And during the projects you will solid your knowledge in working with

- multiple strings

- date module

- ASCII art

- random numbers

- more complex dict structures

- drawing algorithm

- screen coordinates

- math module

- keyboard buffer

- simulations

- complexer data structures (mimic gravity)

- simple AI features for robotics

- csv module

- simple probability using random numbers

- animations (simple ones)

- playing sound files


My top 3 projects are from this book are.

- Blackjack (the art of drawing cards in a terminal)

- J‘Accuse! (simple and easy to extend text adventure)

- Hourglass (simple physic engine)
2 reviews
December 11, 2021
Al Sweigart automation book is nearly is a classic now, read it for productivity snippets. This one book takes a different angle - discussion of small code demos, interacting at command line, including ASCII art, mazes, board games etc.

For each case you would the task description, output, discussion of implementation and code in print (usually 50-60 to 150 lines) followed by questions how you can change the code, which is where most learning occurs. Eventually you would pick some code from the web site and try modify it. The book is your planner and perhaps inspiration source to do this.

Given there is a variety of examples you can pick the one you like better, skip longer ones, back path to them. I liked reading more simple ones and shorter first with fewer nested instructions. Also attracted to something that produces nice looking fast results right away like ducks on the screen, it is very relaxing.
Things that can be improved: my electronic copy had code in black without syntax highlighting, which should improve readability - please consider that for next edition. Maybe organizing the examples by sections or chapters by theme or difficulty (personal preference)? Also note camelCase naming that was used is not the default Python variable naming style.

Overall I think the book is a great resource and pass-time for those interested to learn programming in Python, code structure and coding logic by example: read in print, set goals to try with code, and practice.
1 review
July 17, 2021
Al Sweigart’s Python Books Collection grows and shines with this new addition!

This is a great book for anyone who wants to move beyond Python's basic exercises. The author presents several projects with a nice balance between simplicity and ingeniosity: they are simple enough to understand easily, yet they are creative, so you don't get bored while practicing.

Additionally, each project includes a general explanation before presenting the source code, which helps to understand the "intention" behind the approach. This is nicely complemented by very detailed comments in the source code (way more than you would find in normal projects), and end-of-chapter questions, that not only test your understanding but help you to explore variations/bugs in the exercise.

Be aware that this book puts clarity over "idioms", and therefore, there are few lines here and there where a seasoned Pythonista can obtain the same results in a more succinct way. This is understandable (the book is intended mostly for beginners), and I find myself even more engaged by looking for opportunities to refactor the source code while maintaining functionality.

I strongly recommend this book.
Profile Image for Alexander.
7 reviews
July 8, 2021
For growing Pythonistas and aspirational programmers alike.

Al's books hold a special place in my digital library. I've been exploring this book as a means to developing more agility in my programming abilities. I've made it through a handful of programs and I'm looking forward to digging deeper.

The project-oriented focus helps keep things bite-sized and approachable. This book is in many ways a departure from some of the more foundational work that Al has published. Rather than step-by-step instructions to get one acquainted with the basics, "The Big Book of Small Python Projects" shifts its approach to something more closer to "show and tell".

Al will introduce you to a program, demonstrate its functionality, show you how it works (source code), and then invite you to explore the program more deeply with some guided questions. I find this progression to be helpful and natural coming from his other works ("Automate the Boring Stuff with Python" and "Beyond the Basic Stuff with Python").

I strongly recommend it: 5/5.
Profile Image for Charlie Lee.
303 reviews11 followers
February 5, 2023
I like No Starch Press, and have read several of Al Sweigart's other books, including Create your own Computer Games with Python. This is by all means a good book, but it would've been significantly better if it was only the 2nd book I'd ever read on the subject, after Eric Matthes seminal Python Crash Course. It reinforces many of the ideas explored in introductory books through repetition and real code examples. However, if you are working your way through books this should be near the beginning. This is actually suggested in the book's subtitle, which unfortunately did not show in Amazon, or on Goodreads. Bear that in mind if looking at a second introductory book, as all I really learnt from this was about raw string literals and some useful really specific libraries. If you're already slightly more experienced, I would recommend Sweigart's Pygame book or Irv Kalb's Object-oriented Python.
1 review
October 17, 2021
This is a book that can help the beginners boost their confidence and improve their logical thinking by building tiny projects. The programs written in this book have comments, so it's easier for the programmer to understand the logic.

The projects consist of little programs starting with a description about the project and then jump straight to usage and finally, the solution. Some of them are classical computer science problems like The Game of Life and Tower of Hanoi, Algorithms like Caesar cipher and what not are there in the book.

If you are looking for a variety of tiny projects to build, you won't be disappointed.

Who should buy this book?
A Beginner who's looking for programs to build and try out different algorithms and refine their logic for making tiny but effective games, and get out of their comfort zone.
Profile Image for Warren Hoover.
1 review
February 7, 2023
The Big Book of Small Python Projects is a great book that is simple yet holds a lot of good information. I have been enjoying the book since I got it and for me it has been a great way for me to get back into coding. I kind of was stuck in a 'tutorial hell' where every resource I was trying to access was either too hard or too easy. This book presented information to me in an easy digestible way that I could use in the future in my own projects. This book has gotten me excited to code again and has me thinking and reading documentation which I oddly enjoy at this point. Al makes himself available if you have any questions which is really a kind and respectable thing to do as I do not think many people expect that of an author. Keep up the great work and I will be looking at your other titles in the future.
Profile Image for Jim.
1 review
October 15, 2021
I love this book for many reasons. I'll list three them:
1. The books approach is creative, hands-on, independent: old school.
I'm a senior and find it as exciting, entertaining and accessible as a a chemistry set or build your own crystal radio kit under a Christmas tree.
2. The book is generous of spirit. It's huge. So many great projects to work on, think about, tear apart, rebuild and so on.
3. The author is not pompous, not pendantic, and asks great, open ended questions at the end of each project that stimulate my thinking processes.
That's why 5 out of 5 stars from me and I highly recommend for anyone interested in the Python language or even, computer science.
Profile Image for Pari.
1 review
July 20, 2021
This is a very good book of 81 small Projects in python mainly of puzzles and games. It shows how python functions and modules are used to achieve the desired output .
It will help understand how to use python language when challenged with similar problem.
At the end of each project you have “Exploring the project” which gives ideas to try out different things in the same Projects.
A must book to increase your python skills
1 review
July 20, 2021
Al Sweigart's initial book Automate the Boring Stuff with Python was one of my first go-to book when starting my journey in Python. I got to know Python was more than just Data Analysis.
Reading through the 'The Big Book of Small Python Projects' and I can say he just convinced me further Python could be fun, playful, and engagingly useful as well. I already identified a few project exercises I want to test again to keep me intelligently distracted.
1 review
January 29, 2023
If you have recently started to learn how to program, and have completed a course on learning python, then 'The Big Book of Small Python Projects' is an excellent text to study next. The projects are quite small and well documentated. They are also text-based and run in the command line/terminal, so that you can focus on the logic and not get bogged down with third party modules or GUI's. A series of questions after each project help you to explore and expand further.
1 review
Read
September 13, 2021
Big Book of Small Python Projects, This book covers easy and very good projects. It will help me to understand some main concepts of Python. It helps me build my confidence. I'm happy to give this book 5 out of 5 stars! Al Sweigart explains very well. I recommend this book to every Python Developer or NewBie.
1 review
October 7, 2021
This book guides you through the world of Python programming in the intermediate level by short examples that step by step are guiding you into the deeps of the programming language.

I really recommend it for people that need an extra impulse or idea to continue with their own programs.

As usual, Al Sweigart made it. Good book.
2 reviews
November 17, 2021
This is an amazing book for folks who are trying to learn Python programming. Would definitely recommend it to anybody who want to try different small programs that are unconventional and while doing that you can also learn the super important concepts in Python !
Profile Image for Ben.
2,729 reviews225 followers
February 22, 2022
Another amazing recent Python read of mine.

This was a great book, and had lots of helpful practical projects.

It was fun, and I got a lot out of them, even if I won't use the projects too much, it is a great way to learn.

Would recommend

4.8/5
Profile Image for Alb85.
348 reviews11 followers
December 12, 2022
Il libro ha l'obiettivo di divertire programmando in Python.
I progetti sono 81 e molto vari. Comprendono programmi per codificare testi, indovinelli, giochi, automi cellulari, e molto altro.

Libro che stimola la creatività!
22 reviews
December 9, 2021
Lots of fun mini-size projects. Most of them are based on ASCII art. Great for kids to learn, if with guide from experienced users.
Profile Image for Alberto.
314 reviews15 followers
June 9, 2022
Awesome collection of coding projects suitable to a first-year programming course. The only thing that prevented it from getting the 5th star is that it doesn't introduce the problem in a complete way, suitable to present to students as an assignment; that is, some of the nuances of the problems are not specified upfront but rather are discovered by reading the solution provided for the project. To use these projects in my class, I had to write my own spec to give to students. That reduced the book's usefulness as a classroom resource.
Displaying 1 - 22 of 22 reviews

Can't find what you're looking for?

Get help and learn more about the design.