6 ms·
Fundamentals of Python Programming [pdf]
- Bostonian 7y agoSkimming the book, it does not use type annotations in its functions. I would talk about type annotations and encourage their use soon after presenting the concept of functions. Agree?
- newb32 7y agoNo, types are distracting at first.
- rhizome31 7y agoType annotations are fairly new and advanced material. The vast majority of code you'll encounter in the wild doesn't use them. They can and probably should be omitted in a beginner intro.
- abakus 7y agotype annotation is actually a fairly niche functionality. It is bad that most people cannot judge by themselves and just follow the hype.
- j88439h84 7y agoCool idea. I'd want to see how it goes in a course.
- runxel 7y agoNo. Type annotations are pointless because they are not enforced in any way – if you're coming from another language it might be really misleading. It's good the author omitted this information. Also most code in the wild doesn't use it anyway.
- DonaldPShimoda 7y agoI think in general you're right, but I think it's wrong to say type annotations are "useless" without some qualification of that statement. I use PyCharm as my Python IDE, which does some static analysis on type annotations to ensure consistency and to give better autocompletion hints, which I find very useful.
- Bostonian 7y agoThey are not pointless if you run code through mypy, an optional static type checker for Python. Most Python code does not use annotations, but that's because annotations are a relatively new feature and because Python programmers are not used to using annotations. Maybe beginners should get in the habit of using annotations when a function only makes sense specific argument types.
- reacharavindh 7y agoLooks like a very comprehensive coverage of basic Python (from skimming the TOC). I will pass this as an option alongside "The Quick Python book" to my wife who wants to use Python to replace her STATA anaylses.
- anongraddebt 7y agoLove this book. I decided to make a career change about six months ago, found this book, and started learning Python. Over the past six months I've built four apps (after learning JS and a couple different frameworks), and have multiple interviews lined up for back-end roles. For anyone interested in possibly writing an intro book (or some such material) in the future, here are a beginners thoughts on what makes this a good read: (1) Heavy use of code examples, with accompanying explanations. For myself, at least, I learn a lot through examples, and seeing so many examples of functioning code was very beneficial. The explanations are easy to grasp, without dumbing the material down. Moroever, the examples are integrated with the flow of the material presented (so never arbitrary) and many build on each other as the chapters progress. (2) Functions are presented before lists. (3) He takes time to provide clear, precise, and deep definitions and explanations of the concepts. There is a near-philosophical exactness (like the exactness of analytical philosophy) in the descriptions. (4) Formatting and organization. There was never a time where I felt lost as to where I was, where I was going, or where prior material was. Skim the book yourself to see the myriad ways it formats and presents the material to make study easy on the reader. (5) The number of exercises/problems at the end of each chapter.
- hmart 7y agoHow did you learn JS?
- anongraddebt 7y agoI wish the author had written a Fundamentals of JavaScript Programming as well. I read bits and pieces from a lot of different JS books, and studied the first half of Eloquent JavaScript. I spent most of my time reading stuff online (especially the MDN docs).
- krumpet 7y agoConsider using a site like CodeWars where you're tasked with solving actual challenges. For years, I've read books and blogs as well as watched videos and learned some things, but, working through challenges is more motivating and forces me to produce. I rely on the same resources (books, blogs, videos), but through the lens of, "how can I accomplish X ?" Not sure you will have a similar experience, but it works for me.
- rpmisms 7y agoAw hell yeah. Programming books that teach you how to actually think like a programmer are THE best ones. Thanks for the resource.
- asicsp 7y agoThen, you might also like: Think Python [1] and related interactive course [2] [1] https://greenteapress.com/wp/think-python-2e/ https://greenteapress.com/wp/think-python-2e/ [2] https://runestone.academy/runestone/static/thinkcspy/index.html https://runestone.academy/runestone/static/thinkcspy/index.h...
- eth0up 7y ago"[2]" Perhaps I went through the wrong door, but runestone heaving me straight into probability mathematics and other seemingly saturated problems seemed an unwelcoming intro. I perceived it as a pretty juicy carrot on a long, heavy stick and bailed out.
- sharadov 7y agoI am using [2], love it, tons of examples with common errors you make, am teaching myself Python and did a few courses out there, this combines everything, one of the best I've seen so far
- lepasana 7y agoI see a book, I click! I'm a simple man. Thanks for sharing!!!
- undecidabot 7y agoI apologize for going off topic, but if the author is reading this (perhaps I should email him instead), please be informed that your work has been plagiarized on Amazon, by a book called "Python Programming: A Step By Step Guide From Beginner To Expert" [1]. Read the first few pages of the print book's "Look inside" and you'll see a word for word copy of the book. Not only did they plagiarize your work, but they did a really poor job of it too. The print is full of formatting issues. The code blocks are not properly indented, which is not only poor style but also broken given that python is white-space sensitive. And bizarrely enough the letter "q" is continuously in bold throughout the whole book. You can easily verify this from the pictures by the reviewers. I don't actually own a copy of the book myself. To make matters worse (or better?), they only decided to include the first four chapters, ending at "Conditional Execution". Yes, the plagiarized book claims to be a guide "from beginner to expert", yet it didn't reach the chapters on loops and functions! If you read the reviews, you'll quickly notice that it's full of fake five-star reviews with very vague sentences, some of which don't even make sense. You'll also (now) see a lot of real one-star review, which means that quite a number of people have fallen for this scam. Surprisingly, one of the fake reviewers even got in Amazon's top 100 reviewer list. Check the profile of "Kip Krenz" [2], who is currently at rank #53. Somehow he managed to review two to four books on a near daily basis for maybe a year or more, mostly five-stars (the rest are four-stars) and full of generic sentences. The books reviewed are most likely "fake" as well. They often fall under one of the following: a beginner book, a self-help book, a cookbook, a trading book, or a book on one of the latest fads. This book is unfortunately just one of the many fake books (not the jazzy kind) that have proliferated on Amazon. If you look at the other recommendations, you'll probably find another one of these books (Python seems to be one of those profitable topics). A common technique used by these books is to put themselves under some niche category in order to get a high rank. For example, this book categorized itself under "Microsoft C & C++ Windows Programming" [3], and is currently at #9 there (it used to be #1, but thankfully the real reviews probably dragged it down). For a more peculiar example of this, take a look at what's #1 under "Windows XP Guides" [4]. Sorry for going on a tangent with such a long wall of text. I spent a night "investigating" this whole thing a few weeks ago, and after seeing this post, thought that it would be best to spread awareness of the issue here. [1] https://www.amazon.com/Python-Programming-Beginner-Intermediate-Advanced-ebook/dp/B07N4QDH92 https://www.amazon.com/Python-Programming-Beginner-Intermedi... [2] https://www.amazon.com/gp/profile/amzn1.account.AGXMOOP4UKWVEKKFAL33DYHAJ67Q https://www.amazon.com/gp/profile/amzn1.account.AGXMOOP4UKWV... [3] https://www.amazon.com/gp/bestsellers/books/3967 https://www.amazon.com/gp/bestsellers/books/3967 [4] https://www.amazon.com/gp/bestsellers/books/6134002011 https://www.amazon.com/gp/bestsellers/books/6134002011
- selfipaprazzi 7y agoI wish there was an abridged version of this book for experienced devs. I guess I can just skip past the parts I feel confident about. I know Python pretty well, but I want to get a back-end job doing it. Like, I wanna develop services in Python for other devs. Sorry that is off-topic. Thank you!
- Animats 7y agoThis is an intro beginning programming book that uses Python, not a Python book for programmers. That's fine, but there's a distinction, which should be clear in the title.