[HN Gopher] Show HN: "100 Page Python Intro" eBook
___________________________________________________________________
Show HN: "100 Page Python Intro" eBook
Author : asicsp
Score : 91 points
Date : 2021-02-09 12:33 UTC (10 hours ago)
(HTM) web link (learnbyexample.github.io)
(TXT) w3m dump (learnbyexample.github.io)
| asicsp wrote:
| Hello! Author here.
|
| This book is a short, introductory guide for the Python
| programming language. This book is well suited:
|
| * As a reference material for Python beginner workshops
|
| * If you have prior experience with another programming language
|
| * If you want a complement resource after reading a Python basics
| book, watching a video course, etc
|
| ---
|
| The post link takes you to the free online version of the ebook.
| PDF/EPUB versions are currently free (for about a week) along
| with some of my other books. You can get them from
| gumroad/leanpub, links are given below:
|
| * 100 Page Python Intro: https://gumroad.com/l/100pagepythonintro
| or https://leanpub.com/100pagepythonintro
|
| * Python re(gex)?: https://gumroad.com/l/py_regex or
| https://leanpub.com/py_regex
|
| * Magical one-liners (grep/sed/awk/perl/ruby):
| https://gumroad.com/l/oneliners or
| https://leanpub.com/b/oneliners
| usrme wrote:
| Great work! One minor nitpick would be to move the "In-place
| editing with fileinput" section to "Dealing with files" as it
| seems only tangentially related to command line arguments. At
| first glance I thought it was put there in error...
| NDizzle wrote:
| The first thing I'd tell you is that people who are looking to
| learn python with 0% knowledge of python are most likely not
| using linux as an operating system.
|
| Windows/Mac instructions up front make a lot of sense.
|
| Other hangups newbies have: where to type things? Where to run
| commands? Hell, what's a command? These are the things one of my
| kids asked me when I was showing them python last night.
| serjester wrote:
| Google Colab is amazing for speeding through these early
| roadblocks. Controversial opinion but a beginner's goal should
| be accomplishing a task - not learning about software
| development.
|
| A few wins later, they're going to run into some friction and
| that's when you can teach them about the standard to write
| code. Most importantly, they'll understand the underlying "why"
| at this point.
| samstave wrote:
| >* beginner's goal should be accomplishing a task*
|
| Yup - I learned Photoshop in the mid 1990s because I was
| given a task to make some marketing material for the
| architecture firm I worked for... and they paid hourly for me
| to go to the Kinkos near the office as they had workstations
| with Photoshop on them.
|
| If you have a goal/task that you need to create then you will
| learn faster.
|
| You can't just sit down in front of a piece of software, such
| as Autocad or Photoshop and "learn" it unless you have a
| goal...
|
| There is a bad-ass piece of software called "Bartender" By
| Seagull Scientific and its used extensively in the cannabis
| industry to make labels - I love that software and I had to
| learn how to use it as I needed to design and print Cannabis
| labels...
| poisonborz wrote:
| As OP stated, the book is for beginners in Python, not in
| development. I don't think your remarks would apply to that
| group.
| ghaff wrote:
| That's how I read it as well. That said, I think it's fair to
| note that anyone who has only ever used their computer for
| browsing, word processing, and gaming who gets dropped into
| most Introduction to X courses really has a whole (somewhat
| operating system and tools-dependent) course worth of
| material they probably need to go through first.
|
| I've seen the discussion boards of a couple nominally-intro
| MOOC courses filled with people utterly bewildered about
| basically how to use a computer for programming.
| dharmab wrote:
| Web IDEs are great for these intro-to-programming courses.
| Ideally the students get a couple of weeks of material on
| how to set up a local development environment later.
| asicsp wrote:
| Thanks for the feedback.
|
| I have Linux only, so can't give Windows/Mac instructions. That
| said I do show how to use IDLE, so command line knowledge isn't
| strictly necessary to follow along this book. I also mention
| links for websites you can use as an alternate.
|
| Given that knowing another programming language is a
| prerequisite, I hope getting started won't be an issue. I'll
| see if I can improve on the current instructions.
| fock wrote:
| While Mac is indeed problematic, for Windows you can just
| download a copy of their evaluation VM and go through
| installation there. For my own course installing and doing
| "Hello World" is actually the 0th exercise, because it
| doesn't make sense to start doing stuff if this doesn't work.
| interestica wrote:
| This is a pretty good framework for learning.
|
| > I have Linux only, so can't give Windows/Mac instructions.
| That said I do show how to use IDLE, so command line
| knowledge isn't strictly necessary to follow along this book.
|
| You bring up IDLE but don't define it. It's mentioned that
| it's related to IDE only.
|
| > Given that knowing another programming language is a
| prerequisite...
|
| Is that mentioned at all? And which ones? Why?
| t0mmyb0y wrote:
| Mac is almost identical to linux.
| dddddaviddddd wrote:
| I recently read The C Programming Language, and the paragraph
| about the difficulty of writing a 'Hello, world' resonated with
| me:
|
| > This is the big hurdle; to leap over it you have to be able
| to create the program text somewhere, compile it successfully,
| load it, run it, and find out where your output went. With
| these mechanical details mastered, everything else is
| comparatively easy.
|
| For beginners, getting the development environment figured out
| can be a significant roadblock.
| geephroh wrote:
| Exactly! React and node are just simple JS, right?
|
| Simple JS, after you figure out which toolchain to use and
| how to configure it for your development and deployment
| environments...
| bigwavedave wrote:
| > Exactly! React and node are just simple JS, right?
|
| > Simple JS, after you figure out which toolchain to use
| and how to configure it for your development and deployment
| environments...
|
| And god help you when any of your dependencies undergo a
| major update ;).
| mszcz wrote:
| Seconded. When my brother was learning front-end developement
| those were the kind of things that caused most problems in
| the beginning but were the most glossed over in the
| tutorials.
|
| I personally think that learning the nuts and bolts of how
| things work is where one should start. What compiles what,
| where is what stored, what process executes what, how does
| that thing know where that other thing is located etc.
| musingsole wrote:
| Most people who code will need an inverted triangle of
| knowledge in relation to the software stack. Starting with
| some subset of software fundamentals is great, but it's
| easy to lose the forest for the trees in that approach.
|
| If I love websites and now I want to build one, spending
| more time on fundamentals than is necessary to impart a
| general scheme and more importantly the metaphors of those
| fundamentals would be a waste.
| nathannh20 wrote:
| My partner has tried learning Python multiple times. What hung
| her up the most each time was the installation and setup on a
| Mac. After finally finding a Python course that held her hand
| through the installation phase, the next hurdle was finding a
| project that was interesting to her.
| michaelmcdonald wrote:
| Care to share the course that helped with the install / setup
| on a Mac?
| sixhobbits wrote:
| We tried to solve both of these problems with
| https://codewithrepl.it - an ebook and set of tutorials.
|
| Setup - use an online IDE Projects - learn by building
|
| If she tries it I would love any feedback!
| asicsp wrote:
| If you are still interested in exploring projects, here's some:
|
| * https://github.com/tuvtran/project-based-learning#python
|
| * https://github.com/karan/Projects-Solutions
|
| * https://github.com/norvig/pytudes
|
| * What do you automate with Python at home? -
| https://www.reddit.com/r/learnpython/comments/k5k1h0/what_do...
|
| * Books: https://www.manning.com/books/tiny-python-projects,
| https://nostarch.com/impracticalpythonprojects,
| https://nostarch.com/real-world-python
| joveian wrote:
| Kitty terminal is about half python as well with extension
| opportunities and would probably be a good early project
| opportunity for some people.
|
| https://github.com/kovidgoyal/kitty
|
| Also, renpy is used for a number of games, including some
| commercial games, so modifiying an existing game would be
| another option. (As a side note, I wish someone would make a
| python point and click adventure equivalent of renpy since
| for being such basic games they very often have major
| technical issues).
| jhloa2 wrote:
| Thank you for posting this. I've been meaning to get back
| into programming for fun recently but have been struggling to
| find something I wanted to work on.
| healeycodes wrote:
| (n.b. I gave feedback on an early draft of this book.)
|
| It's very thorough, written with care, and presented in a way
| that makes sense. Even as an intermediate Python programmer, I
| found use in this book.
| jpm48 wrote:
| A lot of talk with issues of setup here. I have been using
| https://trinket.io/ with my lecture notes / students as a good
| way of getting started. Especially now we are teaching online and
| not using our dedicated labs with python already installed. It
| works well and you can use turtle.
___________________________________________________________________
(page generated 2021-02-09 23:01 UTC)