Here are some links to reviews: https://www.amazon.com/product-reviews/1801077266/ref=cm_cr_unknown?ie=UTF8&filterByStar=one_star&reviewerType=all_reviews&pageNumber=1#reviews-filter-bar

https://www.amazon.ca/product-reviews/1801077266/ref=acr_dp_hist_3?ie=UTF8&filterByStar=three_star&reviewerType=all_reviews#reviews-filter-bar

These are reviews of Python Object-Oriented Programming: Build robust and maintainable object-oriented Python applications and libraries, 4th Edition.

All reviews are helpful, even ones that are critical. We're constantly striving to improve this content. Also, we're aware we can't please everyone. I like reviews with clearly-stated points. The one-star review had three important points.

First. "There are enough typed and strongly typed languages in the world". I don't think this is something I can address in a book about Python. PEP 484 dates from 2014. Back then, this opinion may have been more influential. As it is, the comment is perhaps too late to be useful. The annotations are a feature of the language, and it seems important to include them in a book about the language.

Perhaps, the criticism isn't about the Python language. Perhaps this is really a criticism of presenting type annotations as a central part of the book. The comment seems to be about the language more than the book.

Second. "...the k-NN example seems too incongruous..." and "... it was more of an hindrance..." This is interesting. The book covers the k-NN algorithm from a variety of perspectives. The intent was to provide multiple partial solutions, each illustrating only techniques shown in a given chapter. I can see how this might be confusing, and perhaps the examples need to be refactored to reduce overlap between them.

Or. Perhaps k-NN is too simple. Or. It might be that k-NN is already solved in a number of packages like scikit learn. It seemed like a algorithm with a moderate level of complexity and direct application to analytics and data science.

Third, "The English is not always good ... the book could have done with a bit more proofreading." I'd love some concrete examples. I suspect the problem is my Americanisms have caused problems for non-American readers. Perhaps I didn't try hard enough to match Dusty's conversational tone in the 3rd edition. Examples would help to point out where language problems were introduced.

The three-star review had a misleading statement, "This edition also uses non-standard python syntax on definitions functions etc". The type hints have been part of the language since PEP 484, and it seems inappropriate to describe them as non-standard.