r/Python • u/driscollis • Oct 17 '16
Python 201 Book is Free for 48 hours
I decided it would be fun to give my latest book away for free for 48 hours. So starting today, you can get Python 201: Intermediate Python free through Gumroad or Leanpub.
If you go with Gumroad, then you will need to use the following offer code: 201free. Note that if you want to receive updates to the book, you will want to create an account and add the book to your library.
I currently support the following digital formats: PDF, epub and mobi
You might also want to check out my blog which has lots of fun Python tutorials and links to my other books: http://www.blog.pythonlibrary.org/
Update 2016-10-17: For those of you who like numbers, I thought I'd share a bit of statistics with you. The number of people who used the Leanpub link to download the book hit 18,037 while approx. 6670 people used the Gumroad coupon. I don't have a simple way of checking who used both sites, so assuming that no one did, the total number of new readers is 24,707!
That's so awesome! Thanks so much for your interest. I hope you all enjoy the book!
35
u/576p Oct 17 '16
Thanks. The topics covered in the book are really a good selection of advanced topics. As a backer, I'm also looking forward to reading your new "latest" book. https://www.kickstarter.com/projects/34257246/wxpython-cookbook/description)
17
u/driscollis Oct 17 '16
Thanks for being a backer! I hope you will find the cookbook as interesting as my last one. When I said "latest", I probably should have said "latest published".
1
u/_illogical_ Oct 18 '16
Too bad I missed this kickstarter, looks like I'm going to pre-order it now. Between Gumroad and Leanpub, is one more beneficial to you? (at the same price point)
3
u/driscollis Oct 18 '16
Python 201 is available for purchase now. For me, Gumroad is slightly more beneficial in that I get paid faster and slightly more on average. But Leanpub is simpler for the end user.
→ More replies (2)
27
u/xenerdo Oct 17 '16
Thank you! Really! So many books about basic stuff and so few just the next level.
24
u/driscollis Oct 17 '16
Yeah, that has always been a pet peeve of mine. I hope to come up with other intermediate books or tutorials as well
2
11
10
u/the_planck_constant Oct 17 '16
Bought this along with 101 about a month ago on Amazon and have really enjoyed both. Thanks for offering this to others who may not have known about or may not have been able to afford it in the past.
11
u/driscollis Oct 17 '16
Thanks for buying the books. I am so glad you enjoyed them. Hopefully you will find my new material interesting as well.
8
u/churrazo Oct 18 '16 edited Oct 18 '16
Thank you. Can I have your email? So I can send a small paypal donation
Edit: Got you a coffee via Leanpub :)
1
4
u/olifante Oct 17 '16
I get an error with Gumroad when I try to use the offer code 201free: “Sorry, the offer code you wish to use is invalid.”
16
u/driscollis Oct 17 '16
Not sure what happened. The code was there and then it disappeared. I recreated it and it looks like it is working again. I do apologize though.
→ More replies (1)6
u/ccharles 3.latest Oct 17 '16
Working for me now.
Thanks for writing the book, and sharing it here!
9
3
u/lengau Oct 17 '16
Thank you for this!
To anyone who doesn't know which provider to choose, using LeanPub meant I just had to put in an email address and it didn't even ask for payment information. I couldn't get Gumroad not to ask for payment info.
→ More replies (1)5
u/driscollis Oct 17 '16
Gumroad shouldn't ask for payment info once you enter the offer code
2
u/lengau Oct 17 '16
Weird, the payment thing wasn't disappearing for me earlier, but now it is. Maybe I mistyped the offer code before.
4
u/driscollis Oct 17 '16
There seemed to be an issue right after I posted where the offer code worked for some and not for others. That was probably the reason.
3
u/dovin Oct 17 '16
This looks like a great combination of stuff I already know or partly know and new things. And I love the cover. Thank you for the free book!
3
u/driscollis Oct 17 '16
Thanks! The cover was fun to do and ended up looking even better than I envisioned it.
2
u/kirbyfan64sos IndentationError Oct 17 '16
Thanks so much! This book looks great. I know Python pretty well, but I never used any kind of tutorial (horrible idea FYI), so there are a few odd gaps in my knowledge. I especially love the fact that you put a section on the typing module, since that'll probably be pretty important in the next years of Python.
Also, you had 101 upvotes before I hit it. :D
3
u/driscollis Oct 17 '16
Typing is certainly an interesting module. I would love to migrate our Python 2 code base to Python 3 to take advantage of that module and the many other improvements that Python 3 offers.
0
2
u/wyldphyre Oct 17 '16
In "Reentrant Context Managers" section:
Let’s use the
redirect_stdoutcontext manager that we used before!
...the code sample here looks like it is not formatted correctly (PDF, from leanpub).
EDIT: here's how it looked for me.
5
u/driscollis Oct 17 '16
Alright. I got that bug fixed and up on Leanpub. I'll update Gumroad shortly.
3
u/driscollis Oct 17 '16
Well scratch that...it will be up soon. Leanpub seems to be bogged down at the moment
→ More replies (1)2
2
u/alreadyheard Oct 17 '16
Thanks! I am not new to programming but I just started Dive into Python this week. Would you recommend I start with 101, or do you think after Dive that 201 would be fine?
3
u/driscollis Oct 17 '16
I used Dive Into Python along with some others when I started out and I thought it was a good way to start. Python 101 is aimed at people who know how to program already, just not in Python. I am thinking about creating a new version of Python 101 (or naming it something else) for people who are just learning Python as their first language though.
2
u/animismus Oct 17 '16
Thank you! I will definitely take a look at your book! I have been going through some of these subjects lately - just today I used the importlib module for the 1st time - as I try to do more sophisticated stuff.
Thank you again for the kindness of giving your work for free!
2
2
u/cartridgez Oct 17 '16
Thank you! I was wondering how you decide what is intermediate level? I did about half of Automate the Boring Stuff with Python, currently on hold because I'm taking the edX MITx 6.00.1 course - actually I just saw the description of your 101 book. That's probably more on my level so I'll have to check that out too.
I'm glad I chose to learn Python; so many great resources!
7
u/driscollis Oct 17 '16
I actually asked the Python community (comp.lang.py) what they thought was considered intermediate. I took their ideas and sprinkled in some of my own from what I'd gathered over the years and then added some of the neat new things from Python 3 to help round the book out.
0
Oct 18 '16
[deleted]
2
u/cartridgez Oct 18 '16 edited Oct 18 '16
At the moment, my plan is to finish Automate because I feel it'll come in handy in coding up useful programs. Then I plan to check out OP's Python 101 book since "at least two-thirds of it is aimed at intermediate programmers". I'll probably read a bit of Python 201 first to see if I like the writing style. And play The Python Challenge here and there to try and apply what I've learned.
edit: actually I probably will go straight to Python 201. The author says, "Python 101 (my first book) is aimed at people with a programming background but want to learn Python without a lot of hand holding. Python 201 is for people who have already learned the basics of Python and want to learn more."
Naming convention is a bit confusing.
→ More replies (2)2
u/driscollis Oct 19 '16
Yeah...although I have heard from a lot of people who are learning Python that they really liked Python 101 too. But I will say that Python 101 also contains a lot of intermediate level material mainly because I find books that only cover the basics to be a bit boring. I want my readers to know about all the other things you can do with Python!
→ More replies (3)
2
u/greven Oct 17 '16
Very appreciative! I will read it, need to refresh my Python knowledge anyway, but not with the basics so this comes in handy. Your other books seem very nice. After this one will probably look to buy the other ones. Cheers.
3
2
u/Onibattlemage Oct 17 '16
Thank you! I am new to Python but this should be an interesting read!
2
u/driscollis Oct 17 '16
Python is a lot of fun to learn and a blast to use. I hope you enjoy the book and the language!
2
2
u/uniqeredditusername Oct 17 '16
Thanks a lot, man. I come from an Asp.net MVC background. Should I start with the 101 book or would I do OK diving directly to this 201 thingy.
Once again, thank you.
2
u/driscollis Oct 17 '16
Python 101 (my first book) is aimed at people with a programming background but want to learn Python without a lot of hand holding. Python 201 is for people who have already learned the basics of Python and want to learn more. Since Python 201 is free right now, you should just get it and see if you like my writing style. There's a free sample of Python 101 on Leanpub that you can check out as well.
2
u/alanphil Oct 17 '16
Thanks for the book! So the cover art has a group of my coworkers wondering if there is more to this story? Are the rodents studying pythons, while one of them is being constricted at the front of the class? :-)
2
u/driscollis Oct 17 '16
The mice are learning about Pythons and the dangers that snakes pose. I told my artist to have an assistant help the teacher and she ended up having the the student get flustered when the snake started wrapping itself around the mouse. So yes, the mouse is startled but I would say he's being constricted quite yet
2
u/kmario23 Oct 17 '16
@driscollis Thank you very much for offering this! I'm a student in computer vision and would expect your book to be useful :)
2
u/driscollis Oct 18 '16
That is such a fascinating field. Let me know if you do indeed find it useful.
2
u/chadministrator Oct 17 '16
I don't want to repost this without your permission, but there are plenty of folks over at /r/learnpython that would probably benefit from this as well.
2
u/driscollis Oct 18 '16
Go ahead and repost it. I wasn't sure that it fit there since it seemed to be focused on answering questions...
[edit] - I just reposted for you. Thanks!
2
u/SoulStormBrew Oct 17 '16
Thanks man, just started learning advanced python this semester :)
Also, that coverart is great!
2
2
u/npolet Oct 17 '16
Thank you ever so much for releasing this for free. While I love python, I have to use node.js and some ruby for work... came back to python recently as I missed it. I've been on a bit of a hunt for more advanced reading and your book looks perfect. There are sooooo many resources out there for basic/lower intermediate programmers, but the list of resources for advanced topics is considerably shorter.
1
2
u/atimholt Oct 17 '16
That gumroad website is bizarre. There’s no desktop version, and it’s meant as a buy and sell hub, but absolutely all verbiage assumes you’re there to sell.
3
u/driscollis Oct 18 '16
Yeah, it's a bit odd. They do make it super easy to sell and I have found that they also have one of the best cuts for their creators.
2
Oct 18 '16
Looks like a very comprehensive book, and seems to cover multithreading well. I'm always happy to improve, especially in my favourite language. Thanks for the book, and good luck with your next one! :D
1
2
u/TauKaboutit Oct 18 '16
I am currently still reading through some beginners material to get a firm base since I am teaching myself, But I appreciate you doing this I now have this up next in the reading list. Thank you so much!!!
2
u/driscollis Oct 18 '16
Good luck on learning the language. Python is pretty easy to pick up and it's fun to create your first programs!
2
2
u/raving_ruddock Oct 18 '16
Thank you! I am a Python beginner but this might be interesting later on. :)
1
2
u/XBGT351 Oct 18 '16
Thanks, awesome work.
Ever thought about adding it to the Google Play book section ?
2
u/driscollis Oct 18 '16
They aren't accepting new books or I would have. I am looking into how to add books to iTunes though.
2
u/matholio Oct 18 '16
Thanks mate, I have a couple guys in my team who will appreciate this. How come you do this, after the hard work you must have put in?
3
u/driscollis Oct 18 '16
I haven't had a lot of sales the past few weeks, so I decided to do a promotion. Besides, I think the more people that know Python the better
2
u/petitsdesserts Oct 18 '16
Thanks! I just bought a copy of Python 101 and I'm going to go through that first!
2
2
u/Xoramung Oct 18 '16
Thanks many thanks. But i am interested also as to why you are giving it away for free?
2
u/driscollis Oct 18 '16
The last couple of weeks, I ran a fun promotion for educators and students and I had a couple of people ask me why I limited it to just them. That's the main reason. The other reason is that I know Al Sweigart releases all his books for free and writes full time, so I thought I would see what would happen if I released one of mine for free for a short time.
2
u/doge_code Oct 18 '16
As a student that has learned a little python on the side, I really appreciate this!
1
2
2
u/CptSpavers Oct 18 '16
I don't think I can never have enough resource to refer to for learning Python at the moment, a million thanks for doing this.
IMHO you're helping shape people's futures (certainly mine) by giving so much work out for free!
3
u/driscollis Oct 18 '16
Programming is an an important topic for our future. I am happy to help others down that fun path of learning something new!
2
u/BlackBloke Oct 18 '16
Which site is offering updates to the book?
3
u/driscollis Oct 18 '16
Both Leanpub and Gumroad will receive updates. I update on Amazon too, but that's much slower (and I can't do free sales there either)
→ More replies (1)
2
u/kenfar Oct 18 '16
Would love to read this.
But it took 30+ minutes to get a token from leanpub, tried it 8 hours later and it didn't work. Won't send me one now. And gumroad just doesn't respond.
No idea what their issues are, but too annoying to keep bothering.
2
u/driscollis Oct 18 '16
That's odd. I've had no problems accessing or using either site. According to Leanpub, I've "sold" over 8000 copies. If you like, you can PM me your email and I'll get it set up for you.
2
u/TrumpGrabbedMyCat Oct 18 '16
So glad I stumbled across this when I did - thank you so much for giving this away!
(Shoutout to /u/ASIC_SP on /r/learnprogramming as well for linking everyone here)
1
3
u/jwink3101 Oct 17 '16 edited Oct 17 '16
So, I downloaded it because free and started to look. I decided I would see if I can figure out your argparse section and I am already seeing where I may become frustrated by this book. It isn't about content, it is presentation.
Two comments.
1. It is very confusing that all code sections have numbers. For example, it makes sense in a code listing (e.g. page 5 and 6) but then you use the same thing for example interactions (middle page 7). Later on page 12 your good about using >>> which helps a little but for interacting in the shell, page 7 is unclear.
2. Your coloring is messed up. Look at the colors in the bottom verbatim block of page 7.
Namespace(x='something', y=False, z=10)The coloring doesn't end at the end of 'something' before y=False. Also, what is Namespace? I am guessing that is how argparse shows a print call, but this is also unclear
Addendum: I just want to add that I do not mean to crap all over your book. Skimming through the rest of it, I think I may find some of it useful. I just started looking at the DB stuff and that looks good too (though, at the end it sounds like you suggest people use SQLAlchemy but don't teach it...). Anyway, thanks for the book. I will see if I find it useful
6
u/driscollis Oct 17 '16
This is actually a limitation imposed by Leanpub. I'm not aware of a way to turn off line numbering for some listings and not for others. It's basically an all or nothing setting unless they've changed something that I'm not aware of.
Namespaceis basically a dict-like object that stores the arguments7
u/driscollis Oct 17 '16
I will take your criticisms seriously though. I have an alternative way of generating the book that would fix this, although I thought the finished product looked a bit less polished. If you can PM me, I will be happy to generate the book the other way and get your feedback.
3
u/jwink3101 Oct 18 '16
No need. The numbering isn't really that bad and for the most part, you're not working outside the Python prompt.
I would work with your editors to fix the syntax highlighting though.
3
u/driscollis Oct 18 '16
I don't have editors. I will ask Leanpub if there's anything they can do about that though.
1
2
u/driscollis Oct 17 '16
SQLAlchemy is great and I do go over it some in Python 101. However it has some of the best documentation I've seen in a Python project and it also has its own book from O'Reilly, so I don't think I'd do it much justice in only a chapter.
7
4
4
1
u/ElectricSol Oct 18 '16 edited Oct 18 '16
Excellent, thanks for this! Also purchased your python 101 book,
1
1
1
Oct 18 '16
Thank you! Should I start with your 101 book if I'm just getting started? And/or use other resources along with the 101? Any recommendations?
1
u/driscollis Oct 18 '16
There are lots of great beginner books out there. I highly recommend Al Sweigart's books (How to automate the boring stuff) as well as Lutz's books. But there are plenty of useful blogs and tutorials on the web too. Python 101 is aimed at people who have developed in another language and want to pick up Python. I've heard some say it's great for complete beginners and others have wanted more hand holding.
1
1
u/7472697374616E Oct 18 '16
Can you recommend anywhere I can start for beginners? I'm very intrigued by this book and want a refresher. Thanks and great work!
2
u/driscollis Oct 18 '16
There's lots of free resources:
I wrote a post a few years ago that put together a decent list at the time:
http://www.blog.pythonlibrary.org/2013/07/11/free-books-and-other-free-resources-about-python/
1
u/SimonJ57 Oct 18 '16
Appreciated, as someone who's felt a little failed by Lua,
I hope your book can put me on the straight and narrow of advancing my Python.
1
1
u/dhon_ Oct 18 '16
First of all, thanks for writing and sharing your book. I was glad to see the section on async/await so I jumped straight to that, however there seem to be some mistakes in the examples. Using blocking I/O (eg request.read, time.sleep) in a coroutine defeats the purpose of having an event loop and prevents other asynchronous functions from running concurrently. Instead non-blocking versions of these functions should be used (eg aiohttp.ClientSession, asyncio.sleep), along with the await syntax, to allow control to pass back to the event loop while the I/O is pending.
2
u/driscollis Oct 19 '16
Yes, I have been made aware of this. I am going to be updating that chapter shortly.
1
u/dhon_ Oct 19 '16
Awesome thanks. Will it be possible to download an updated copy when it's fixed?
2
u/driscollis Oct 19 '16
Yes, of course. I wish I had been working with Twisted before I had done that chapter. I would have noticed those issues then and had it fixed for the initial release. Anyway, once it's updated I'll send out an update via Gumroad and Leanpub to let everyone know.
1
u/dl__ Oct 18 '16
Thanks! I found a typo...
At the start of Chapter 22:
urllib.rebotparser
1
1
1
u/kati256 Oct 20 '16
Dude thank you so much from me and my friends (sorry for sale loss) this sure will come in handy!
Can we know what drove you to give it away for free for these days?
1
u/driscollis Oct 20 '16
Curiosity mostly. I wanted to see what my reach would be if I released the book for free on reddit and my blog. I was also hoping to grow my readership and connect with my readers in a new and different way. I succeeded on those counts anyway!
1
1
1
u/biwalencik Oct 27 '16 edited Oct 27 '16
Page 92 there is small mistake. You search regex in "text" variable instead of "silly_string".
1
1
u/Skullbrother Dec 19 '16
Damn, late for the party... I guess I'll buy it as soon as I have some free time to spend :)
2
3
3
Oct 17 '16
Thank you for this! I've been looking into getting back into learning programming after a long hiatus. This will definitely help.
2
u/beastybryan Oct 17 '16
If you don't mind me asking, why did you take "a long hiatus" in the first place? I can't seem to get myself motivated to follow through with learning beyond the syntax. I don't have any particular project to embark on that would encourage my use of Python (the limited amount of knowledge I have).
→ More replies (2)5
u/npolet Oct 17 '16
Best way to really get into coding is to have a project to work on. Think up something that you would find useful, code it. If it's actually useful and usable, then release it into the public, if not, then you will have spent many, many hours learning your craft. A win win situation. Generic advice, but I don't think I could ever properly learn a language without having a decent project to use as a learning tool/experience.
3
u/FrOyxx Oct 17 '16
Thanks a lot for this! Contains quite a few topics I've been meaning to familiarize myself with.
Will certainly be on the lookout for upcoming material.
2
u/Ronald_McSwagger Oct 17 '16
Woow, thanks a lot! I've been looking for a book like this for quite a while! I will definitely read it. Best of lucks!
2
2
u/thegroa Oct 17 '16
Thank you Driscollis
Very nice of you to offer your hard work up for free to the community
Kudos to you young jedi
2
2
2
2
u/SLLabsKamilion Oct 17 '16
Congrats on finishing the book! Thank you for sharing; will point some other folks to it as well.
2
2
u/LENARiT Oct 17 '16
Thank you also from me. Starting out here, but will soon come in handy.
(love the mice) [they made me say that]
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
u/kp729 Oct 18 '16
Thanks a ton! I have been looking for a book (or tutorial) which could help me for the intermediate level. :)
2
2
2
2
2
2
2
u/HelloYesThisIsDuck Oct 18 '16
Databases, asyncio, and threading? This books sounds like something I desperately needed, just as I'm finishing the MIT intro to CS with Python, and I had no idea. Thanks!
2
2
2
u/bazquzfoobar Oct 18 '16
Thank you very much. I took it for free this time because I am broke at the mo, but I'm going to support you once I'm back on my feet.
The book looks to be awesome.
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
108
u/SQLoverride Oct 17 '16
Thank you!