rsokl / Learning_Python

Source material for Python Like You Mean it
https://www.pythonlikeyoumeanit.com/
Other
165 stars 54 forks source link

Add section on errors and descriptions of Python versions #131

Closed samaocarpenter closed 4 years ago

samaocarpenter commented 4 years ago

This pull request adds a full section to Module 2 about handling errors and would add a detailed explanation of Python versions to module 1. A new file is created for the section on errors, and an existing section is updated for the version explanation.

There are three commits in this pull request, but only two of them actually matter. Commit 7bf93d4 was just me updating mine to match the current master branch after it was updated earlier.

samaocarpenter commented 4 years ago

I reread issue #110 and #66, and I think adding a bit more to this would be appropriate to fix those issues. Slightly expanding the discussions of ‘raise’ and ‘assert’ would definitely be in order, as would slightly more analysis of reading traceback messages. I also think this is a good spot to add the walrus operator, since this discusses the versions of Python. I’ll make a few commits later tonight -

samaocarpenter commented 4 years ago

Closing this for now - I'm gonna make a few edits based on #110 and #66 then reenter this as a draft pull request.

rsokl commented 4 years ago

In general, I like to leave issues open until they are fully resolved

Edit: whoops I thought this was an issue.

FYI when you create a PR you can set it as: work in progress

samaocarpenter commented 4 years ago

Got it - I'll do that when I make the next PR. Should be up sometime in between today and Tuesday

samaocarpenter commented 4 years ago

Thanks for the awesome feedback @davidmascharka - I'll make sure to address all this before remaking the request

samaocarpenter commented 4 years ago

@rsokl thanks for the awesome feedback - I'll make sure to factor those changes into the next revision.

As far as learning objectives, I would say that learning about exceptions will make readers better debuggers, and the sooner they understand how to tackle their errors the better. Without this section, readers will not understand the main causes of errors and will not be able to debug as effectively.

This is definitely something that most people learn just by experience or trial-and-error. Perhaps this would be more appropriate in Module 5 than Module 2? I can see it fitting in either, but I'm not sure what you would deem as essential for Module 2.