You've completed a basic Python programming tutorial or finished Al Sweigart's bestseller, Automate the Boring Stuff with Python . What's the next step toward becoming a capable, confident software developer?
Welcome to Beyond the Basic Stuff with Python . More than a mere collection of advanced syntax and masterful tips for writing clean code, you'll learn how to advance your Python programming skills by using the command line and other professional tools like code formatters, type checkers, linters, and version control. Sweigart takes you through best practices for setting up your development environment, naming variables, and improving readability, then tackles documentation, organization and performance measurement, as well as object-oriented design and the Big-O algorithm analysis commonly used in coding interviews. The skills you learn will boost your ability to program--not just in Python but in any language.
You'll
Toward the end of the book you'll read a detailed source-code breakdown of two classic command-line games, the Tower of Hanoi (a logic puzzle) and Four-in-a-Row (a two-player tile-dropping game), and a breakdown of how their code follows the book's best practices. You'll test your skills by implementing the program yourself.
Of course, no single book can make you a professional software developer. But Beyond the Basic Stuff with Python will get you further down that path and make you a better programmer, as you learn to write readable code that's easy to debug and perfectly Pythonic
I love this book! The world is awash in Python introductions, but for the next step - from understanding Python in principle to using it in practical actual projects - there aren't so many good options, especially ones that keep an empathic learning curve.
You can really see the experience the author brings from all of his teaching, paying excellent attention to what trips them up and to what common materials forget to teach. He's avoided the "curse of knowledge" that makes too many experts forget what not yet knowing was like.
(disclaimer: Al is a friend and I got a slightly advance PDF from him, but I'm scrupulous about honesty in evaluation)
Al Sweigart starts the book off by speaking about the "desert of despair" - the phase when one can write Hello, world! in many languages, but does not feel like a real programmer. It me. The book delivers exactly what it promises - a comprehensive introduction to most of the programming world's good practices. Is my impostor syndrome somewhat placated after having learnt about these practices? Certainly. Will I actually implement these lessons and stop writing sh*t code and cursing myself later? We will see.
Quite good, an effective way to get where the title suggests you're going to get. I expect having read this book will help me write better Python code in the future, and understand a few things I didn't understand before, and that's really all I wanted from it. It also gave several suggestions for further reading, some of which I added to my to-read list so that I may improve further.
This book deserves not more than 4 stars. This is an "ok" book for beginner/intermediate python user. Plus, if you have a solid knowledge in another modern language, your reading will be fast. In short, this book is a good series of short explanations about Python. The parts of chapter are as good as realpython blogs, I would say. I judge myself as a solid intermediate Python Dev and I didn't learn much from this book.
I read the book from the author website. The reading could have been way better with a better framework for rendering markdown.
Some parts of the book are really really effective and clear. I also liked the two projects showed in chapter 14. OOP chapters 15, 16 are very light. They are good as introduction of OOP. Chapter 17 explains some concepts a bit more in depth. Also, I am satisfied on the strong emphasis on the type hinting. I appreciate the numerous references of additional resources: I'll definitely pay more attention of PyCon!
I really do not understand why there is no mention of decorator with a little introduction about standard lib decorators. I also do not understand why there is no chapters about testing and a proper example of a toy project done by test driven development. I think it would add ~100 pages to the book and it would be a solid intermediate book for an intermediate Python Dev.
I like this book a lot, especially the chapters on good Python coding styles and naming conventions. I also find the introduction of "Pythonic" style and Python OOP design accessible. The author listed many resources such as books, articles, and talks for readers' further learning.
Quote:
"The journey from novice to capable programmer can often feel like attempting to drink from a fire hose."
This book is a brilliant "next step" for people who are learning the Python programming language. If you've read a book or some tutorials about the language itself, or are writing your first programs, then this book is for you. It will expand your awareness of the sort of things you ought to know about, beyond the basics of the Python language itself.
It collects together wisdom from a wide range of topics, such as characterizing good code versus bad, the absolute bare minimum nuggets extracted from a computer science degree that you really might need from time to time (presented very approachably), and introductions to common tools from the Python ecosystem, like the code formatter "Black", or source control with "Git", and why you might want to get to grips with them. Many other topics are covered - see the contents:
PART 1: GETTING STARTED Chapter 1: Dealing with Errors and Asking for Help Chapter 2: Environment Setup and the Command Line PART 2: BEST PRACTICES, TOOLS, AND TECHNIQUES Chapter 3: Code Formatting with Black Chapter 4: Choosing Understandable Names Chapter 5: Finding Code Smells Chapter 6: Writing Pythonic Code Chapter 7: Programming Jargon Chapter 8: Common Python Gotchas Chapter 9: Esoteric Python Oddities Chapter 10: Writing Effective Functions Chapter 11: Comments, Docstrings, and Type Hints Chapter 12: Organizing Your Code Projects with Git Chapter 13: Measuring Performance and Big O Algorithm Analysis Chapter 14: Practice Projects PART 3: OBJECT-ORIENTED PYTHON Chapter 15: Object-Oriented Programming and Classes Chapter 16: Object-Oriented Programming and Inheritance Chapter 17: Pythonic OOP: Properties and Dunder Methods
Experienced programmers won't find anything new here, which in itself is a testament to how each of the topics presented really are foundational to becoming a better programmer.
For everyone else, this is a sensible guided tour, written in straightforward, demystifying text, that will improve all the programming you do from this point on. Read this book, and add computer programming to your skill set.
The Python community is booming, friendly, and diverse, and includes people from all walks of life, from academics, hobbyist game developers, cutting-edge machine-learning and data-scientist people, commercial folks who build websites and online services, and all sorts of people who just want to get something done, quickly and easily. Welcome aboard - we're very glad to have you.
Review of “Beyond the Basic Stuff with Python�
By Ian Mizer I was given this book by No Starch Press, but the thoughts in this review are my own
This is the kind of book every python developer can use and every developer should buy. This book tries to teach the readers the fundamentals of python and writing code in general. Almost all of this book will be useful during the entire run of python 3 and some of this book will still be worth it's pages for the python 4 future. This book covers several incredibly important topics like organizing a git, understanding code smells, how to ask good questions on stack overflow, and common python gotchas . The author also goes to great length to teach the reader about a lot of what's going on under the hood when you call certain things in python like looping with python and how it's calling iter and next to actually execute the loop. While each chapter is useful it also keeps itself brief, usually not going farther than 20 pages per chapter. All in all I cannot recommend “Beyond the Basic Stuff with Python� enough for every person who wants to learn fundamentals surrounding coding and specifically coding in python.
Readability : How easy would it be for someone to sit down with this book and finish it quickly.
Accuracy : How accurate is the information being given? Could you write every single line of code in this book and have the books answers match the code you wrote. Normally this is a -1 out of 10 per major mistake and per 4 minor mistakes the book makes
Subject : Does this book do what it wants to do and is what it wants to do good?
Bonus points: for extra stuff that I liked. This will be the most subjective part of the review and might not go into much detail. It's just little things that I highly enjoyed and wanted to give a shoutout about
Readability 10/10:
I finished this book in 9 days reading 20-60 pages a day. The book is very quickly digestible as most of it doesn't require you to sit down and write code. In fact half of the chapters require you to do nothing at all and instead understand the fundamentals of python. Because of this a person can get through the book incredibly quickly, only stopping or slowing down during the sessions were they check the libraries given or try setting up some of the libraries and git actions that the book teaches you.
Accuracy 10/10:
There were no errors that I could find that actually affected the reader. Just a minor one at the start of the book. The publisher will probably have fixed it by the time you see this review.
Subject 10/10:
Because it is very difficult for the words in this book to lose value I can say that the subjects covered here are the most important subjects that any reader would want to know. What this book wants to teach is very durable to time and as I said at the start of this review, all of this book is useful across the entire python 3 ecosystem and will mostly be useful across any future python 4 ecosystems. Especially since it covers git and stack overflow topics. I would say that the only things that won't stand the test of time is when it informs the reader of certain libraries like timeit, cprofiler, and black. Most of those libraries are considered essential to understanding or formatting your code so even then it's going to be difficult to say that any of them will fall out of style anytime soon. Since this is a fundamentals book on par with testing basics or understanding OOP I can't recommend this book enough to every python user.
Bonus Points:
+1 for brevity: This book covers a lot of subjects and I think the author does amazingly well at making sure there is no wasted space. The author covers the basic that he needs to and doesn't try to get you to do an example at the end of every chapter and I think that makes it more easily digestible to people who will already know certain chapters. All in all a great read
+1 for doing a good job at being timeless:
As I said earlier in this review, this book will last a really long time. It might still be good after 10 years and not many books in this field could ever say that. This is because it's covering a lot of what needs to go on behind the scenes and under the hood in the python language. Teaching what double underscores are doing or what some of the python gotchas are lasts a really long time. It will definitely last through the entire life cycle of python 3. So kudos
"Beyond the Basic Stuff with Python" covers a variety of topics that are frequent stumbling blocks for folks relatively new to Python or inexperienced with software development in general. This isn't for absolute beginners - if you can't write a for-loop yet look elsewhere first. But for folks getting to the the "advanced novice" stage this is a fantastic resource.
For context: I often teach classes for novice Python programmers through community events. Participants might be scientists or statisticians trying to improve their Python chops or programming bootcamp students who are relatively new to writing code.
Often their code works - sort of. They are beyond the basics of syntax but struggling with software development skills: It runs in a notebook but I don't know how to run it with out starting a notebook server... I commented out this block of code because I only need it the first time I run this... How do I get rid of all the numbered indexes like row[3][2]? Is there a way to make this less repetitive?
Al Sweigart does a great job of choosing topics that often come up from these folks and they aren't limited to Python syntax and semantics. This book covers many issues specific to Python like using the Black code formatter, writing Pythonic code, some Python language gotchas and idiosyncrasies and even coverage of writing object oriented code with Python.
But this isn't just a Python tutorial. It also covers some common topics that are familiar to folks with a computer science background but otherwise might be mysterious. From defining jargon like "mutability" or "garbage collection" to explaining Big O analysis of algorithms or the chapter on using Git effectively to manage your personal projects - there are lots of gems to help grow novice programmers into software developers.
I have often recommended "Automate the Boring Stuff With Python" as way to get absolute beginners to jump into writing some code that hopefully scratches an itch and motivates them to continue learning. I'll be recommending this book to those learners who want to keep growing in the craft of software development with Python.
this book is unique, unique in its content, as its content is very rare to find it written in many other books. it is unique regarding its target audience, there are few books that target fresh developers looking for guidance to dive deep to senior and more professional levels. Most books or courses can be categorized into introductory or advanced, but how can the fresh developers especially the ones coming from other careers move to the senior/advanced level? That’s where this book can be placed for sure. Here’s some of the great topics in this book:- a complete chapter about how to deal with errors and using stackoverflow, which represent more than 50% programmers daily routine how to write Pythonic code? Why? And When? an excellent simplification of using Git, measuring Big O for most famous algorithms, which are the most scarifying topics for new developers what’s are special features of OOP at Python and the most important piece of information which you can find it in all over the book, What is the best/most common practice? WHEN you should use it? WHEN you should NOT use it? totally recommend this book for all python developers, especially new comers with non programming background
“How to Automate the Boring Stuff� is a book I frequently tend to recommend to newcomers to programming, so it was a pleasant surprise to hear about this new book, which I can now enthusiastically recommend as a sequel. :)
This book covers everything a beginner needs to know to get to the next level of becoming a software developer, and answers a lot of questions beginners might not even _know_ to ask� like common Python gotchas, programming jargon that might be confusing, how to navigate the command line, how to use version control, and how to interpret error messages. It also contains a lot of tips specific to writing better / more Pythonic code, which I was pleased to find.
My favorite chapters: Chapter 1: Dealing with Errors and Asking for Help � very practical/useful tips in here; short and sweet Chapter 8: Common Python Gotchas Chapter 15: Object-Oriented Programming and Classes
I highly recommend reading this book with a friend or study partner so you can discuss each chapter together!
Al Sweigart has taken us from automating boring stuff, to breaking codes and also inventing games all in Python. Now he is taking us beyond all the basic stuff to mastering this beautiful language. First of all, if you are not familiar with his work before this, I want you to know that his delivery is excellent and all his books are page turners. You can read them like a novel (which I do a lot) but you will need to get your hands dirty with code too. This book takes you further into how to write clean and pythonic code. If you understand what he is teaching here, you should be able to make contributions to open-source projects on Github. Since I am into Finance and Engineering, I love the examples he gave (under the OOP section) on bank accounts. He also broke down reasons why enumerate() should be used in place of range() and many other examples I can not list here. This is one book I am going to spend my leave studying as both a user and teacher of Python.
Al Sweigart knows how python works, but it took him years and years to know all that he knows, and in this book, Beyond the Basic Stuff with Python, Al presents to us all the gotchas, all the pits and weird turns that will show on your way with this neat little language. His approach to teaching not just the language but the tools necessary to use it properly and all its idiosyncrasies makes this a must read for developer new in python, or just a junior developer, oh who am I kidding? I have 5 years of experience using python in production, but his book taught me a lot about the python interpreter, how to find code smells in python code without the use of static analysis tools, and his chapter in benchmark helped me and my team to develop new non-invasive ways to monitor and benchmark methods.
I thought this was an excellent book and enjoyed it more than Al's more famous title Automate the Boring Stuff. This got me over the hump with version control and introduced me to some other intermediate/advanced software engineering concepts. I think Al is a really great author, because his books have a clear, creative focus. In Automate the Boring Stuff, he targeted novice programmers to optimize mundane office work. In this book, he targets more advanced beginners to help them break free of the "hello world" purgatory that affects many aspiring programmers. I had found myself stuck at this level for quite some time and feel this book really helped me improve. As I continue to advance my Python skills, I still find myself coming back to this text for reference. I look forward to reading the Recursive Book of Recursion soon - thanks Al!
The book is solid for anyone who is starting with programming and python overall. Although I must say that after reading the previous book "Python Crash Course" from the same publisher one thing that stands out to me is that it lacks exercises for people to solve for themselves and the projects presented are written at the start and explained later instead of them being made gradually and more completed. Not saying that this is wrong approach but it's just different and some people may want to know what they are getting into. That said there are really nice fragments of the book that I found really interesting, especially the more Python-specific things in the later chapters. It's a good book for people that want to cover the basics again and make sure they didn't miss anything.
I've read many of Al Sweigart's books: Invent Your Own Computer Games, Small Python Projects, Automate the Boring Stuff. They've all helped. Not only that, but they're good examples of encapsulation themselves. Logically discrete units of cohesive knowledge on a specific element of programming. Beyond the Boring Stuff is another good example of this and focuses around a lot of useful next steps. Irv Kalb's Object-Oriented Python is a good next point from this, diving deeper into some of the topics covered in the last 3 chapters. But it also provides some useful context here too that isn't covered there. Like when you should and shouldn't use these techniques. Thank you, Al, for all the knowledge.
This is the next steps book I needed after "Automate the Boring Stuff"! This takes you beyond writing basic code and scripting tasks, dealing with code management, documentation, typehinting, and moving through more complex Object Orientated Programming (OOP) ideas. Also included is some troubleshooting and code smell guidance and common python idiosyncrasies that tripped me up when I was learning.
Even though I'm past the target audience for this book, I'll specifically be referring back to a couple of sections, in particular the OOP composition/inheritance portion. It is clear and concise, with good guidance on tradeoffs between different approaches.
I really love the No Starch Press books, and this one is my favorite so far. I've always been a little fuzzy on a few things in Python. This book was as if the author read my mind on what those were, and provided concise explanations of the concepts. The concepts were augmented with many good code samples as well.
It covers a lot of topics that go beyond the basic python stuff, and it explains them well. However, this was not the right book for me right now. I should make projects or experiment, but not read one book after another. I will probably come back to this book in the future.
Having worked with python at work for a few years without any formal training in it, I learnt a lot of useful tips from this book. A good read to enhance one's understanding of how to think when developing with python.
Explained some of the nuances with Python well, especially on the uses of OOP in Python. You could argue this isn't an introductory book on Python, but it's the next one you'd read.