|
|||
|
I've produced a 4 page document that provides a very concise summary
of Python 2<->3 differences plus the most commonly used new Python 3 features. It is aimed at existing Python 2 programmers who want to start writing Python 3 programs and want to use Python 3 idioms rather than those from Python 2 where the idioms differ. It uses Python 3.1 syntax since that looks like being the standard for a few years in view of the language moratorium. The document is U.S. Letter size but will also print fine on A4 printers. It is available as a free PDF download (no registration or anything) from InformIT's website. Here's the direct link: http://ptgmedia.pearsoncmg.com/impri...on2python3.pdf And of course, if you want more on Python 3, there's always the documentation---or my book:-) "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. |
|
|
||||
|
||||
|
|
|
|||
|
> I've produced a 4 page document that provides a very concise summary
> of Python 2<->3 differences plus the most commonly used new Python 3 > features. It is aimed at existing Python 2 programmers who want to > start writing Python 3 programs and want to use Python 3 idioms rather > than those from Python 2 where the idioms differ. > > It uses Python 3.1 syntax since that looks like being the standard for > a few years in view of the language moratorium. This really looks very useful, thanks a lot! I've been wishing something like this existed for a while, really handy. Cheers, Daniel -- Psss, psss, put it down! - http://www.cafepress.com/putitdown |
|
|||
|
On Dec 1, 7:03*am, Mark Summerfield wrote:
> "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. I ordered it... -- Gnarlie http://Gnarlodious.com |
|
|||
|
On Dec 1, 2:03*pm, Mark Summerfield <l...@qtrac.plus.com> wrote:
> I've produced a 4 page document that provides a very concise summary > of Python 2<->3 differences plus the most commonly used new Python 3 > features. Very nice indeed! My only quibble is with the statement on the first page that the 'String % operator is deprecated'. I'm not sure that's true, for all values of 'deprecated'. There don't appear to be any definite plans for getting rid of it just yet. Mark |
|
|||
|
On 12/2/2009 1:03 AM, Mark Summerfield wrote:
> I've produced a 4 page document that provides a very concise summary > of Python 2<->3 differences plus the most commonly used new Python 3 > features. It is aimed at existing Python 2 programmers who want to > start writing Python 3 programs and want to use Python 3 idioms rather > than those from Python 2 where the idioms differ. > > It uses Python 3.1 syntax since that looks like being the standard for > a few years in view of the language moratorium. > > The document is U.S. Letter size but will also print fine on A4 > printers. > > It is available as a free PDF download (no registration or anything) > from InformIT's website. Here's the direct link: > http://ptgmedia.pearsoncmg.com/impri...on2python3.pdf > > And of course, if you want more on Python 3, there's always the > documentation---or my book:-) > "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. Nice. I suggest changing the lambda example a bit, the current example says: Python 2 Python 3 lambda (a,b): a + b lambda t: t[0] + t[1] lambda a, b: a + b into something like: Python 2 Python 3 lambda (a,b),c: a + b + c lambda t, c: t[0] + t[1] + c lambda a, b, c: a + b + c it is unclear at first sight that it refers to tuple argument unpacking. There should also some mention that tuple argument unpacking for regular function (def) is also gone. Also, I'm not sure what this change is referring to: Python 2 Python 3 L = list(seq) L = sorted(seq) L.sort() L.sort is still available in python, and sorted() have been available since python 2. Both list.sort() and sorted() are for different purpose, and neither will be deprecated. What's the change here? |
|
|||
|
Mark Summerfield wrote:
> I've produced a 4 page document that provides a very concise summary > of Python 2<->3 differences plus the most commonly used new Python 3 > features. It is aimed at existing Python 2 programmers who want to > start writing Python 3 programs and want to use Python 3 idioms rather > than those from Python 2 where the idioms differ. > > It uses Python 3.1 syntax since that looks like being the standard for > a few years in view of the language moratorium. > > The document is U.S. Letter size but will also print fine on A4 > printers. > > It is available as a free PDF download (no registration or anything) > from InformIT's website. Here's the direct link: > http://ptgmedia.pearsoncmg.com/impri...on2python3.pdf > > And of course, if you want more on Python 3, there's always the > documentation---or my book:-) > "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. What might be even *more* helpful, with contributions from others perhaps, would be an indication of which changes are handled automatically by 2to3.py and which must be done by hand. tjr |
|
|||
|
Mark Summerfield <list@qtrac.plus.com> writes:
> It is available as a free PDF download (no registration or anything) > from InformIT's website. Here's the direct link: > http://ptgmedia.pearsoncmg.com/impri...on2python3.pdf Thanks! > And of course, if you want more on Python 3, there's always the > documentation---or my book:-) > "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. Meh, second edition already? Haven't read the entire first edition yet. Which is IMO a good book (I also gave it to my brother as a present). Only negative point (to me) so far is that in the beginning (p8-9) the book mentions placing Python programs in C:\py3eg which gives me the unpleasant feeling that someone is coding on Windows XP with Administrator rights... Anyway, will add the 2nd edition to my wish list and donate the current one to the library in Xalapa (USBI) if they want it :-) John |
|
|||
|
On 1 Dec, 17:50, Mark Dickinson <dicki...@gmail.com> wrote:
> On Dec 1, 2:03*pm, Mark Summerfield <l...@qtrac.plus.com> wrote: > > > I've produced a 4 page document that provides a very concise summary > > of Python 2<->3 differences plus the most commonly used new Python 3 > > features. > > Very nice indeed! > > My only quibble is with the statement on the first page that > the 'String % operator is deprecated'. *I'm not sure that's > true, for all values of 'deprecated'. *There don't appear > to be any definite plans for getting rid of it just yet. > > Mark I didn't make this up:-) According to http://docs.python.org/dev/3.0/whatsnew/3.0.html "The plan is to eventually make this the only API for string formatting, and to start deprecating the % operator in Python 3.1." |
|
|||
|
On 1 Dec, 18:30, Lie Ryan <lie.1...@gmail.com> wrote:
> On 12/2/2009 1:03 AM, Mark Summerfield wrote: > > > > > I've produced a 4 page document that provides a very concise summary > > of Python 2<->3 differences plus the most commonly used new Python 3 > > features. It is aimed at existing Python 2 programmers who want to > > start writing Python 3 programs and want to use Python 3 idioms rather > > than those from Python 2 where the idioms differ. > > > It uses Python 3.1 syntax since that looks like being the standard for > > a few years in view of the language moratorium. > > > The document is U.S. Letter size but will also print fine on A4 > > printers. > > > It is available as a free PDF download (no registration or anything) > > from InformIT's website. Here's the direct link: > >http://ptgmedia.pearsoncmg.com/impri...it/promotions/... > > > And of course, if you want more on Python 3, there's always the > > documentation---or my book:-) > > "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. > > Nice. Thanks! > I suggest changing the lambda example a bit, the current example says: > Python 2 * * * * * * * * * * *Python 3 > lambda (a,b): a + b * * * * * lambda t: t[0] + t[1] > * * * * * * * * * * * * * * * *lambda a, b: a + b > > into something like: > > Python 2 * * * * * * * * * * *Python 3 > lambda (a,b),c: a + b + c * * lambda t, c: t[0] + t[1] + c > * * * * * * * * * * * * * * * *lambda a, b, c: a + b + c > > it is unclear at first sight that it refers to tuple argument unpacking. Your proposed example is clearer in some respects, but mine is more minimal. And I think that anyone who _thinks_ about mine will get the point. (The document is short, but I never claimed it was a quick read;-) > There should also some mention that tuple argument unpacking for regular > function (def) is also gone. I probably should have, but it is hard to fit any more in... esp. since I don't want to take anything out. > Also, I'm not sure what this change is referring to: > Python 2 * * * * * * * * Python 3 > L = list(seq) * * * * * *L = sorted(seq) > L.sort() > > L.sort is still available in python, and sorted() have been available > since python 2. Both list.sort() and sorted() are for different purpose, > and neither will be deprecated. What's the change here? The document is about idioms as well as changes. In this case both approaches work in both versions, but it seems that there are still a lot of people who don't know about sorted(), so I put it in to show it as an idiom. |
|
|||
|
On 1 Dec, 21:55, Terry Reedy <tjre...@udel.edu> wrote:
> Mark Summerfield wrote: > > I've produced a 4 page document that provides a very concise summary > > of Python 2<->3 differences plus the most commonly used new Python 3 > > features. It is aimed at existing Python 2 programmers who want to > > start writing Python 3 programs and want to use Python 3 idioms rather > > than those from Python 2 where the idioms differ. > > > It uses Python 3.1 syntax since that looks like being the standard for > > a few years in view of the language moratorium. > > > The document is U.S. Letter size but will also print fine on A4 > > printers. > > > It is available as a free PDF download (no registration or anything) > > from InformIT's website. Here's the direct link: > >http://ptgmedia.pearsoncmg.com/impri...it/promotions/... > > > And of course, if you want more on Python 3, there's always the > > documentation---or my book:-) > > "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. > > What might be even *more* helpful, with contributions from others > perhaps, would be an indication of which changes are handled > automatically by 2to3.py and which must be done by hand. > > tjr No, that's exactly what I did not want to cover and the document says so up front. It is aimed at people who want Python 3 to come from their own brains and fingers! Also, the kind of info you're talking about is covered elsewhere, for example: http://diveintopython3.org/porting-c...with-2to3.html |
|
|||
|
On 1 Dec, 23:52, John Bokma <j...@castleamber.com> wrote:
> Mark Summerfield <l...@qtrac.plus.com> writes: > > It is available as a free PDF download (no registration or anything) > > from InformIT's website. Here's the direct link: > >http://ptgmedia.pearsoncmg.com/impri...it/promotions/... > > Thanks! > > > And of course, if you want more on Python 3, there's always the > > documentation---or my book:-) > > "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. > > Meh, second edition already? Haven't read the entire first edition > yet. Which is IMO a good book (I also gave it to my brother as a > present). If it is any consolation, the second edition should have a much longer life, now that we have the language moratorium. (I _really_ wanted to cover 3.1.) > Only negative point (to me) so far is that in the beginning (p8-9) the > book mentions placing Python programs in C:\py3eg which gives me the > unpleasant feeling that someone is coding on Windows XP with > Administrator rights... OK, you got me there, I only use Windows for testing purposes and my personal logon account does have Administrator rights, which I assumed was standard for personal machines? Also, the path is short. It is only a suggestion, it really doesn't matter where you unpack the examples. > Anyway, will add the 2nd edition to my wish list and donate the current > one to the library in Xalapa (USBI) *if they want it :-) > > John |
|
|||
|
On Dec 2, 8:01*am, Mark Summerfield <l...@qtrac.plus.com> wrote:
> On 1 Dec, 17:50, Mark Dickinson <dicki...@gmail.com> wrote: > > My only quibble is with the statement on the first page that > > the 'String % operator is deprecated'. *I'm not sure that's > > true, for all values of 'deprecated'. *There don't appear > > to be any definite plans for getting rid of it just yet. > > I didn't make this up:-) No, I didn't imagine for a second that you had! > According to http://docs.python.org/dev/3.0/whatsnew/3.0.html > "The plan is to eventually make this the only API for string > formatting, and to start deprecating the % operator in Python 3.1." I think that's a doc bug. "The plan is to ..." should read: "The plan was originally to ...". (Well, at least in the 3.1 version of the "what's new in 3.0" documentation; the 3.0 version that you linked to isn't even autogenerated any more, AFAIK, so fixes to the ReST source for that file never make it to the web site.) I'm a little confused myself about what's actually happening with % formatting, but here's a fairly recent python-dev posting from the BDFL: http://mail.python.org/pipermail/pyt...er/092399.html Mark |
|
|||
|
On Wed, Dec 02, 2009 at 00:10 -0800, Mark Summerfield wrote:
> On 1 Dec, 18:30, Lie Ryan <lie.1...@gmail.com> wrote: > > Also, I'm not sure what this change is referring to: > > Python 2 * * * * * * * * Python 3 > > L = list(seq) * * * * * *L = sorted(seq) > > L.sort() > > > > L.sort is still available in python, and sorted() have been available > > since python 2. Both list.sort() and sorted() are for different purpose, > > and neither will be deprecated. What's the change here? > > The document is about idioms as well as changes. In this case both > approaches work in both versions, but it seems that there are still a > lot of people who don't know about sorted(), so I put it in to show it > as an idiom. It would be quite nice if you could mark all the Python 3 idioms that work in Python 2.X as well. This would allow readers that are still using Python 2.X and are used to the 'old way' to adapt their coding style accordingly. You could just add a little (2.X) after the idiom for example. And thanks for the nice cheat sheet! :-D -- .''`. Wolodja Wentland <wentland@cl.uni-heidelberg.de> : :' : `. `'` 4096R/CAF14EFC `- 081C B7CD FF04 2BA9 94EA 36B2 8B7F 7D30 CAF1 4EFC -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBCAAGBQJLFk2BAAoJEIt/fTDK8U78xOwP/3wttqjXXVX2ZCPg+roWPJ8E /rR1kXj6SBKoHNwehBMVymQhTjaK+JdFDaPyr+mcw3Bfl1KNSJX R52XgsqOs0HA8 7TYE2s0sll0IVY2wEXxNG2Dxz5/fLLzwEC5v2ESj9qMloqVvts/oWDCEgX3KwFKo zDjH8+biFdoYpio3HPi1P+NP6mPIKlZNG0Q5yNPNOv4wv4fSoM U3Z/uB8reL5F3p GnyZNqpp2q46DzZsDbu7kf5oDzMhyLRR9WTQtw5fON9FeGkUdI kP3puR7cM9ZNW6 Ykdn7bPFddPknFDyN+/g+DyfjmNwMWvf+eeX4/xnvARhqlkPvp/mK2duKbk5O9ku arSzXeTvgyqDNwzfbD0QsXjm/JAOaxPrDjUs9ZJYVgooisjYaijtHVBeQE0FnMlM BGBjeKn2PGBiFqQd9wIh2ucexFEzMTPhfaJzORuS188Ynk8psB bVcN24AzbON9xU wrpUVyQe0NRrVK5YDPyv/gZfoo6sWLIvSFm3TYh2sqEGpJb/w1QwzeJ5CakgMCJZ /vUg05SRvpD15bAxiZs+STuo6gbY53lrqmH7WVf/5dya0xy9SCBGGqIJ8lLHt5em hFlDvtb/U/GZGeb8UFpJOieRhZGnZFeXJkYWqs9kNvstOJlszhcf0CN5WT+V dhFc WQ60uawEDDPxaqKxHmuH =uX/C -----END PGP SIGNATURE----- |
|
|||
|
Mark Summerfield wrote:
<cut> > It is available as a free PDF download (no registration or anything) > from InformIT's website. Here's the direct link: > http://ptgmedia.pearsoncmg.com/impri...on2python3.pdf <cut> Very handy! Am I wrong in assuming that you forgot to include that file() is gone in favour of open()? -- MPH http://blog.dcuktec.com 'If consumed, best digested with added seasoning to own preference.' |
|
|||
|
On Dec 1, 2:03*pm, Mark Summerfield <l...@qtrac.plus.com> wrote:
> I've produced a 4 page document that provides a very concise summary > of Python 2<->3 differences plus the most commonly used new Python 3 > features. It is aimed at existing Python 2 programmers who want to > start writing Python 3 programs and want to use Python 3 idioms rather > than those from Python 2 where the idioms differ. > > It uses Python 3.1 syntax since that looks like being the standard for > a few years in view of the language moratorium. > > The document is U.S. Letter size but will also print fine on A4 > printers. > > It is available as a free PDF download (no registration or anything) > from InformIT's website. Here's the direct link:http://ptgmedia.pearsoncmg.com/impri...it/promotions/... > > And of course, if you want more on Python 3, there's always the > documentation---or my book:-) > "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. I only just found out that I was supposed to give a different URL: http://www.informit.com/promotions/p...x?promo=137519 This leads to a web page where you can download the document (just by clicking the "Download Now" button), but if you _choose_ you can also enter your name and email to win some sort of prize. |
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Python-URL! - weekly Python news and links (Nov 16) | Gabriel Genellina | Newsgroup comp.lang.python | 0 | 11-16-2009 02:22 PM |
| Python-URL! - weekly Python news and links (Sep 17) | Gabriel Genellina | Newsgroup comp.lang.python | 1 | 09-24-2009 07:00 PM |
| Python-URL! - weekly Python news and links (Aug 6) | Gabriel Genellina | Newsgroup comp.lang.python | 0 | 08-06-2009 06:21 PM |
| Python-URL! - weekly Python news and links (Jun 20) | Gabriel Genellina | Newsgroup comp.lang.python | 0 | 06-20-2009 09:41 PM |
| Python-URL! - weekly Python news and links (May 22) | Gabriel Genellina | Newsgroup comp.lang.python | 0 | 05-22-2009 01:13 PM |