Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Python Books Programming

2nd Edition of Learn Python the Hard Way Released 167

theodp writes "Are you or your kid intrigued by Python, but not quite ready to purchase an in-depth O'Reilly book? Zed A. Shaw's 2nd edition of Learn Python The Hard Way may be a friendlier option. Shaw's path to Python programming is simple: 1. Go through each exercise, 2. Type in each sample exactly, 3. Make it run. If $60 for the hardcover is too much to ask, or $15.99 for paperback, you can spend a measly buck for the PDF/ePub download. Still too steep? OK, there's even a free online HTML edition. After completing the 52 exercises, Shaw's concluding Advice From An Old Programmer says, 'Which programming language you learn and use doesn't matter. Do not get sucked into the religion surrounding programming languages as that will only blind you to their true purpose of being your tool for doing interesting things.'"
This discussion has been archived. No new comments can be posted.

2nd Edition of Learn Python the Hard Way Released

Comments Filter:
  • Is it as hard as donating your liver [youtube.com], or is only as hard as getting slapped with a fish [youtube.com]?
    • A month or so ago I decided to pick up a Python book at the Borders-is-dying sale, and while it's from O'Reilly, the book is too much of a reference - a lot of bottom-up "here's are six different list-like things" and "nobody expected the Spanish Inquisition, which is why you need to use this method to catch the exception it throws, but you can change that by overloading _ _ that _ _ method name's variable __pope__ or using _ComFyChaiR_ instead, but you can't set __pope__ to French, because that object uses

      • A good, free book I've been learning from is http://diveintopython3.org/ [diveintopython3.org] I find it to be much better than this book. This book gives really bad advice. For example, claiming that "vim and emacs are for professional programmers only" completely disregards that the only way to get good at either of them is by USING them for a while, a good long while, which would go so well with the message he claims to be sending with this book. Instead of stopping to learn them later, which could take months, you could be l

        • by Anonymous Coward

          This book is aimed at beginners, people who may have no coding experience whatsoever. Not people switching from other languages.

          Anyone who recommends vim / emacs to absolute beginners should be shot. They bought the book to learn python, not vim / emacs.

          The reason Zed Shaw wrote this book was because he thought Dive Into Python was crap: http://oppugn.us/posts/1272050135.html

          • by lee1 ( 219161 )
            I think Dive Into Python is excellent and Shaw's objections are unjustified. Pilgrim's method is to show you a program that you're not expected to understand immediately and then explain it line by line. Shaw thinks this is too confusing for beginners, and is a bit of an hysterical ass about it.
            • by wisty ( 1335733 )

              Which of Shaw's objections?

              That DITP uses ODBC as "your first python program"? Good call, ODBC sucks as a way to introduce python. Something URL or HTML based would be 10 times better.

              That DITP uses advanced inline stuff in the first example? I'm ambivalent. It can help to "dive in" then explain later.

              Shaw's hard-man personae? OK, it's a bit over the top. But if Zed Shaw comes out with "I don't think this is the most appropriate example." rather than "DITP should be shot in the fucking face."; nobody will t

            • Not that I've read it, but I was under the impression that Dive into Python was aimed at experienced programmers wanting to learn Python quickly without all the extra fluff around learning to program getting in the way.

              And I thought that Python the Hard Way was instead aimed at teaching people to program and Zed only used Python because it was a reasonably good choice for a first language.

              If there's anything wrong, it's probably that beginner programmers are being sent to the wrong material.

  • Copy typing (Score:1, Redundant)

    How is that the hard way? What ever happened to sharpening your teeth on man pages and samples written by people far better than you?
    • by Nursie ( 632944 )

      Or even just using the big, free programmers handbook for any language you can think of - Google.

      • To be fair, you could use his big, free, well-written one that's actually aimed at people who are new to programming.

        I mean, another option doesn't seem like a bad thing.
    • The hard way part is where you're given exercises that require extending upon the example given. Providing exercises that are just the right difficulty level for someone learning, easy enough to solve and internalize the learning but not frustrating, is a very difficult thing to do as a technical author. I haven't looked at the book enough to comment on how well it does it that everywhere, but the few examples I checked look well constructed so far.

      Also, to address your other comment, Python is one of tho

      • by billstewart ( 78916 ) on Tuesday June 28, 2011 @10:38PM (#36607302) Journal

        One of the things I really liked about C was that once you've learned a few basics like how pointers and structs work, looking at code written by people much better at C than you just makes sense and comments like /* you are not expected to understand this */ are quite rare. That wasn't as true about C++ or Java, where many kinds of things are readable (after getting the basic "object" stuff down") but some of the template stuff is too obscure. It wasn't true at all about APL or PERL :-)

        I was expecting Python to resemble LISP with a different syntax, but it's looking a lot messier than even Common LISP, and of course a lot of the moving parts are hidden in the large number of pre-written modules that come with Python.

  • by Anonymous Coward

    I expect the language laid out in monospaced ASN.1 tables from the get-go.

    • I was hoping they'd used some Python fork where the lexer was replaced by one using APL characters or something.

  • by gweihir ( 88907 ) on Tuesday June 28, 2011 @09:44PM (#36606994)

    They can be in your way, they can make you jump though hoops, they can require you to create so much noise that you need tools to write anything in it (java is a prime example). If you are a truly good programmer, you want a language that does not tell you how to do things and just lets you do what you think is right. Even if that language has less extensive libraries than others.

    Personally, I like Python, Lua and C at this time. Python does OO but does not force a specific, limited model on you as most other OO languages do. The one thing that comes close is Eiffel, but at the price of the compiler needing global scope. Lua is just plain elegant minimalistic and again supports OO, but as you see fit, not some restrictive inheritance model. And C just lets you do what you want, very fast if you know what you are doing, although OO, while feasible, has no language support at all. But often you can do without in C anyways. (Yes, even people that understand and like OO sometimes find that not using it is better.) In addition, all three languages are light-weight.

    As to C++, I think that abomination would have been better aborted before birth. You need to know far too much about its internal execution model to write efficient code. At the same time, it is not light-weight anymore.

    I also have observed that most of the Java crowd never manages to get to the level of being even mediocre programmers. To me these people look more like "library call sequencers" that could not ever do anything useful without these libraries and development tools that automatize a lot. Quite often this leads to slow, complex and insecure solutions, where the code is basically unreadable due to too much code, to many layers, too much abstractions and no insight on the part of the programmer. Sometimes Java code is 95% clutter and noise. This problem is less pronounced with other languages. One piece of advice I therefore give to anybody that wants to learn programming is to avoid Java like the plague. This is definitely only a language for quite advanced programmers, although the typical Java programmer is very far from that indeed.

    • This is definitely only a language for quite advanced programmers, although the typical Java programmer is very far from that indeed.

      as a Java programmer let me tell you that this proposition evaluate to true !

    • by greg1104 ( 461138 ) <gsmith@gregsmith.com> on Tuesday June 28, 2011 @10:19PM (#36607192) Homepage

      Java as a base language is just fine. The problem is that the sort of problems people like to solve with Java involve things like database interaction, web applications, and user interface construction. And doing all those things turns Java programming into a giant library exploration exercise.

      Many other languages end up falling into the same trap if you try to push them toward the same things Java aims at. Python for example has a pretty weak database interface layer. If you want to build a non-trivial DB app, you're likely to add both a database driver plus an ORM solution to make that work sensibly. As a PostgreSQL developer I run into psycopg2 + SQLAlchemy as an example combination. The resulting code is arguably no less "library call sequencer" than a similar solution built using JDBC + Hibernate. And the Java one also fits together into all these other "enterprise" app widgets--application servers and database connection poolers for example. You can do all that in Python, too, but you'll find yourself wandering into the same scale of library mess in the end.

      Building an application development framework toolkit that doesn't feel like your language has been turned around to suit the needs of the library is a hard problem. I think one of the reasons Rails has become so successful is that it did a better job than most of avoiding that problem (albeit while giving you a whole different set of problem trade-offs to worry about instead).

      • As a person about to get into database + html design an maintenance, I would like to work with PostgreSQL. What language(s) would you recommend for the front-end interface?

        • I work with people who have built successful web application with PostgreSQL as the database store using Ruby + Rails, Java + Tomcat, and Python + various additions; at a really high level, building extensions to Django is even a popular option. Which is preferable really depends on where you intend to go with this. If you want a spot with a smaller web company, Ruby would be more likely, and giant companies tend toward Java. I can't think of a good way to stereotype the companies that prefer Python, but

    • by Raenex ( 947668 ) on Tuesday June 28, 2011 @10:43PM (#36607336)

      They can be in your way, they can make you jump though hoops, they can require you to create so much noise that you need tools to write anything in it (java is a prime example).

      While I'll admit that Java has too much boilerplate, tools are good regardless of any language you use. You don't need tools to write in Java -- people managed before fancy IDEs came along. However, because Java is statically typed, it lends itself to more powerful tools. This is really helpful as projects get bigger.

      I also have observed that most of the Java crowd never manages to get to the level of being even mediocre programmers.

      Oh please, cut the bullshit bashing. I could say the same thing about Python programmers, but that's just throwing insults around.

      • by m50d ( 797211 )

        You don't need tools to write in Java -- people managed before fancy IDEs came along.

        I'm pretty sure anyone who did that will be taking early retirement for their RSI. Java has its place but writing it unassisted is literally physically painful.

    • by Anonymous Coward

      I like python too. My *ONLY* bitch about it is beginning and ending tags that are non existent. Indent level? Really? I can NOT tell you the number of times this has created a bug for me, because the spacing was off. Had one 'flavor' where if you mixed tabs and spaces in the same file (one dev liked tabs the other spaces) or didnt put tabs on empty lines it would cause the python interpreter to go into lala land.

      That is *THE* one thing wrong with python. What is this punch cards? Seriously? Indent l

      • I like python too. My *ONLY* bitch about it is beginning and ending tags that are non existent. Indent level? Really?

        I think we all felt that like at the beginning. Now I get really annoyed when I have to use curly braces.

        I can NOT tell you the number of times this has created a bug for me, because the spacing was off. Had one 'flavor' where if you mixed tabs and spaces in the same file (one dev liked tabs the other spaces) or didnt put tabs on empty lines it would cause the python interpreter to go int

        • You need a get text editor. :p

          No, the fact the language doesn't deal with the real programmer's life issues with (eventually) bad text editor, or simply because there will always people with bad or diverging habits is python downside. The fact that one may or may not use a text editor that you consider "good" or that you think tabs or spaces are the bad way is irrelevant. You may "like it", and I can see why (like it's forcing people into doing good indentation), but do not dismiss the issues associated with it.

          • Non issue (Score:4, Interesting)

            by Capsaicin ( 412918 ) * on Wednesday June 29, 2011 @01:46AM (#36608062)

            No, the fact the language doesn't deal with the real programmer's life issues with (eventually) bad text editor, or simply because there will always people with bad or diverging habits is python downside.

            In the same way that the the it is difficult to drive nails into wood with a nail file is the downside of a nail. Once you apply the correct tool in the correct fashion the problem vanishes.

            Really all you have to do is alias python to path/python -tt and there is no problem only a syntax error. Or Alternatively, I have a "bad habit" I tend on occasion to leave the semi-colon off the end of the line when writing in Perl or C. Thus both Perl and C's "downside" is that they "[don't] with the real programmer's life issues .. simply because there will always people with bad or diverging habits." Makes sense to me.

            The fact that one may or may not use a text editor that you consider "good"

            I wrote "... whatever text editor you have you ought to be able to set this up." If you can't then the editor is not "good," but not as a function of my personal aesthetics, but due to its lack of fitness to do its job. Are there really programmer's text editors out there that cannot substitute a tab for four spaces throughout a file?!!

            You may "like it", and I can see why ... but do not dismiss the issues associated with it.

            After 2 or 3 months annoyance with the tabs/spaces "issue" followed by about 10 years withoIn factut even noticing any, I think I'm entitled to dismiss the "issues associated with it."

            As it happens I wasn't dismissing the issue, I was offering advice about how anyone still suffering from this issue could dismiss it.

            • Alternatively, I have a "bad habit" I tend on occasion to leave the semi-colon off the end of the line when writing in Perl or C.

              The subtle difference being that a semicolon is detectable by the venerable mk1 eyeball, therefore you don't need to apply any of the bandaids you suggest.

              • The subtle difference being that a semicolon is detectable by the venerable mk1 eyeball, therefore you don't need to apply any of the bandaids you suggest.

                Yes I agree, the invisibility of different kinds of white space, and not the failure of a language to make allowance for a programmer's bad habits, is the source of this "issue." However, to characterise my suggestions as "bandaids" is emotive misdirection. The issue is trivially dealt with: Set up your tools properly and it ceases to exist. Editors

    • by Nursie ( 632944 ) on Tuesday June 28, 2011 @11:29PM (#36607546)

      Python's good.

      It's quite refreshing to go to a language where (as someone with a lot of experience in programming but not much with python) with such flexible syntax that "I wonder if I can write it this way?" usually works.

      And as for rapid prototyping it's great. A couple of evenings and 500 or so lines of python and I can have something that would take me weeks in C. Of course in C I would have had more fine grained control over behaviour and I do run up against barriers in python every so often.

      The major downside for me is the GIL. For anything processor intensive you have to work around the language to use the resources of a modern system, rather than work with the language.

      • by abigor ( 540274 )

        The multiprocessing module is your friend. When it comes to Python, forget threads.

        "multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads. Due to this, the multiprocessing module allows the programmer to fully leverage multiple processors on a given machine."

        • by Nursie ( 632944 )

          Yes, you're probably right, I ought to take the time to learn that interface next time.

          At that point in my last project (yet another fractal browser) I switched to C++ and OpenGL/CL...

    • As to C++, I think that abomination would have been better aborted before birth. You need to know far too much about its internal execution model to write efficient code. At the same time, it is not light-weight anymore.

      I'm sure that since you have recommended the abortion of C++, the people who wrote Webkit, Firefox, Microsoft Office, Open Office, KDE (and most of its associated apps), Doom3 Engine, Unreal Engine, Call of Duty, Super Mario Galaxy, Halo (and every AAA game ever basically), etc. will realise their incompetence / lack of experience and switch to C, Lua or Python since those are your personal preferred languages "now".

      C++ is a heavy-weight language, but it does not generate heavy-weight or poorly optimized co

      • by jgrahn ( 181062 )

        As to C++, I think that abomination would have been better aborted before birth. You need to know far too much about its internal execution model to write efficient code. At the same time, it is not light-weight anymore.

        I'm sure that since you have recommended the abortion of C++, the people who wrote Webkit, Firefox, Microsoft Office, Open Office, KDE (and most of its associated apps), Doom3 Engine, Unreal Engine, Call of Duty, Super Mario Galaxy, Halo (and every AAA game ever basically), etc. will realise their incompetence / lack of experience and switch to C, Lua or Python since those are your personal preferred languages "now".

        C++ is my favorite language too, but let's be honest -- lots of software which sucks has been written in C++. It's a language which has had the misfortunate to be hyped in the past, and co-hyped with Object Oriented Everything.

        On the other hand, when people like the grandparent can claim to like C and still call C++ an abomination I can only attribute that to ignorance. Just see what a typical non-trivial C program uses instead of the standard C++ containers -- typically a mess of buffer overflows, memory

        • by gweihir ( 88907 )

          You mistake me. Containers are the one thing done better in C++ than in C. However, I found that with just a very small number of OO-style containers in C, the problem goes away. Of course most people claiming to understand OO would not be able to do it in a non-OO language.

      • by gweihir ( 88907 )

        Having seen some things out of Google, I know that they are not the wizards some people still believe they are by a fairly large margin. You find tremendous arrogance there and you find many fans that take in anything Google without question.

  • by xs650 ( 741277 ) on Tuesday June 28, 2011 @09:49PM (#36607016)
    "A programmer will eventually tell you to use Mac OSX or Linux. If the programmer likes fonts and typography, they'll tell you to get a Mac OSX computer. If they like control and have a huge beard, they'll tell you to install Linux. Again, use whatever computer you have right now that works."
    • "A programmer will eventually tell you to use Mac OSX or Linux. If the programmer likes fonts and typography, they'll tell you to get a Mac OSX computer. If they like control and have a huge beard, they'll tell you to install Linux. Again, use whatever computer you have right now that works."

      I run Windows because I like to play games :)

    • Does OSX actually have any advantages over any other OS when it comes to typography?

  • by theodp ( 442580 ) on Tuesday June 28, 2011 @09:49PM (#36607018)

    Philip Greenspun has some good titles: Philip and Alex's Guide to Web Publishing [greenspun.com] (dated, but I paid cash money for it back in the day), Software Engineering for Internet Applications [greenspun.com], and SQL for Web Nerds [greenspun.com]. If you find yourself in the DB2 world, Graeme Birchall's DB2 SQL Cookbook [verizon.net] is a must-have.

  • Looks like a good attempt on programming, but if I am starting on Python today, I'd prefer using the current version.

    This is a good price-point; yet, if you want to do anything more than an evening with Python, try...

    http://diveintopython3.org/ [diveintopython3.org] or
    Computer Programming for Kids http://cp4k.blogspot.com/ [blogspot.com]

    • by gweihir ( 88907 ) on Tuesday June 28, 2011 @10:02PM (#36607102)

      I have been doing Python 3 for some time. The language is better than Python 2, but you still frequently run into things that are not ported yet. So I would definitely advise either to learn Python 2 and have a look at 3 or the other way round.

      For larger projects, I would advise to still use Python 2 at this time, but with a style that allows an automated upgrade later on. This will mean not using some Python 2 features.

      • I have been doing Python 3 for some time. The language is better than Python 2, but you still frequently run into things that are not ported yet. So I would definitely advise either to learn Python 2 and have a look at 3 or the other way round.

        For larger projects, I would advise to still use Python 2 at this time, but with a style that allows an automated upgrade later on. This will mean not using some Python 2 features.

        With features like this it is not suprising that nobody wants to use languages like Java anymore.

    • I loved this website:
      http://www.trypython.org/ [trypython.org]

      It's an interactive class on Python and sounds a lot like Learning Python the Hard Way.

  • I am a novice level programmer in C++/Python and I thought I could benefit from this book. But the exercises seem to be ridiculously simple and it seems a book only suited for someone with zero or negligible programming background.
  • by x1n933k ( 966581 ) on Tuesday June 28, 2011 @10:08PM (#36607142) Homepage
    Check out MIT's OCW. Free lectures with a GPL Python programming book that does an excellent job at explaining programming and the Python language. The lectures are bad quality but the projects are good for practice.
  • I'd heard of "Learn Python the Hard Way", but I thought it was a joke.

    If you know any other programming language, Python is very easy.

    • by garaged ( 579941 )

      Totally agree, and the best thing about python is that you usually can get very readable code often with fewer lines than the corresponding alternative you already know. Much like going from bash to perl on a complicated script, I would say

    • by maxume ( 22995 )

      The book is aimed at people that don't.

  • Learn Python "the Hard Way" to me implies an advanced book. It seems they meant "Learn Basic Python Well". I kind of prefer this title, too--it's much friendlier for the apparent target audience [learnpytho...ardway.org], even if it's not as catchy.
    • Yes, the "hard way" doesn't mean it's advanced, it just means you have to type again and again boring things because it's supposed to be a good learning method.

      Just go through the python tutorial, it will be more effective on every aspect.

  • By watching The Life of Brian, Monty Python's Flying Circus, and Monty Python and the Holy Grail

    • By watching The Life of Brian, Monty Python's Flying Circus, and Monty Python and the Holy Grail

      That would be "Learning Python the Completely Different Way".

  • It is the libraries, frameworks, and targets. These are the difference between just learning a language and having grown up with it.
  • by cruachan ( 113813 ) on Wednesday June 29, 2011 @03:06AM (#36608354)

    Most of this "advice" is bullshit. The "line I've been programming for a very long time. So long that it's incredibly boring to me. At the time that I wrote this book, I knew about 20 programming languages and could learn new ones in about a day to a week depending on how weird they were. " gives it away.

    Sure if you've got a background covering C you can pick up those languages based on C syntax pretty quickly - in terms of writing raw statements - but that means very little as most of the heavy lifting these days is done using the supporting libraries. Sure myself I picked up C# syntax in about that, but groking .Net to a productive level takes a fair bit longer. Even Javascript, which appears very simple for someone with a C background is deceptively simple to think you've got but you're probably missing out on the subtleties whole protoypical inheritance model. And then there's C++. Can anyone who doesn't code C++ as their day-job for less than two years really claim to have C++ and completely under their fingers?

    And we haven't even considered more unusual things like Haskell or Prolog, or even Lisp where it's not just a question of the syntax. Sure if by 'picking up' you mean getting to the point of being able to code Quicksort then yes, but otherwise - well I call bullshit. And I've got over 20 years experience and an average of one language a year over that (but I'd only claim to really have half a dozen completely understood).

    • I've got over 20 years experience and an average of one language a year over that (but I'd only claim to really have half a dozen completely understood).

      I've got almost 40 years in, and long ago lost count of languages, operating systems, and hardware environments.

      You'll get past this stage.

      You will never have any living computer language "completely understood" for any significant amount of time if you are working on anything more meaningful than simply tracking that language's implementation arc in a worl

  • This is exactly how I like to learn, a dew lines about the code, the code, and expected output. Its concise, no crud in there. Its a format i'd like to see more of. I remember reading a C++ book, one of those monster ones from the late 90s that used up about 50 pages printing out encoded resource files, pages and pages of non-human readable crap. (Being a nub at the time I actually typed a lot of it out)
  • > 1. Go through each exercise, 2. Type in each sample exactly

    > Do not get sucked into the religion surrounding programming
    > languages as that will only blind you to their true purpose of being
    > your tool for doing interesting things.

    Yes, but to type in the programming exercises, do you recommend using vi or emacs? :-/

    • Yes, but to type in the programming exercises, do you recommend using vi or emacs? :-/

      The author suggests gedit, for all platforms, which is a fair enough suggestion. However he then insists on using spaces over tabs, without any explanation of the relative merits, thus already choosing a side in yet another programming disagreement. A simple "choose one and stick to it" would have sufficed.

      Personally If I follow the book I'll be using vim + tabs, because those are what I'm used to and prefer, but that's just me.

      • Yes, but to type in the programming exercises, do you recommend using vi or emacs? :-/

        The author suggests gedit, for all platforms, which is a fair enough suggestion. However he then insists on using spaces over tabs, without any explanation of the relative merits, thus already choosing a side in yet another programming disagreement. A simple "choose one and stick to it" would have sufficed.

        Personally If I follow the book I'll be using vim + tabs, because those are what I'm used to and prefer, but that's just me.

        I think that's a foolish decision.

        Sure, either tabs or spaces will work fine, as long as you're consistent. The problem is that once you move beyond toy programs you will be sharing code with other developers, modifying code you get from other sources, etc. And that other code will use spaces, which means that when you mix your tab-using code with it, stuff will break.

        When writing Python, follow the Python community's coding conventions, and one of the strongest and most important is to use spaces, no

        • I'm a scientific programmer, mostly working on mathematical models and simulation. Almost all the work I do is for myself, and I have very little experience working with others' code. Many of the people I know who use Python are in similar situations. I have personally had far less trouble with tabs than with spaces (aesthetically and functionally), and it's what I'm going to continue using until my circumstances change, since Python doesn't care either way (only the community, who will never see my code).

          I

          • I think that believing you'll never have to share code with others is eventually going to cause you great pain. I hope I'm wrong :-)

            Oh, and vim can be configured to always use spaces, but make that completely transparent to you.

    • Neither [learnpytho...ardway.org]:

      If a programmer tells you to use vim or emacs, tell them, "No." These editors are for when you are a better programmer. All you need right now is an editor that lets you put text into a file. We will use gedit because it is simple and the same on all computers.

  • Cited from http://learnpythonthehardway.org/book/ex50.html [learnpytho...ardway.org] :
    "Other Python programmers will warn you that lpthw.web is just a fork of another web framework called web.py, and that web.py has too much "magic". If they say this, point out to them that Google App Engine originally used web.py and not a single Python programmer complained that it had too much magic, because they all worked at Google. If it's good enough for Google, then it's good enough for you to get started. Then, just get back to learning to

  • Sorry, had to say it...

  • I perused the chapters from start to end, skimming over all-too familiar ones, and looking at the writing and examples explained. It's a fine read for people new to programming.

    It may not be very technically in-depth, may not cover all examples, and it may not warn about all the caveats, but it's a good place nonetheless.

    That's the point of this book.

    If you already know programming, you might find it a bit slow, and would probably prefer something like Dive Into Python [diveintopython.org].

    I like the creative examples near the

  • I have done very little programming (other than excel) since my college classes in Pascal. based on the reviews here, and the fact that the book is available online for free, I decided to give this book a try.

    I have gotten to this, "Try more format characters. %r is a very useful one. It's like saying "print this no matter what". Search online for all of the Python format characters."

    Well, I searched online. I went to http://docs.python.org/library/stdtypes.html [python.org] and found this

    String and Unicode objects have

The reward for working hard is more hard work.

Working...