New to python
Manuel M. Garcia
mgarcia at cole-switches.com
Tue Oct 22 13:12:06 EDT 2002
This is one of the shortest and best summaries of Python programming I
have ever read! Perfect for people coming to Python from other
languages. We have to get it on python.org or pythonquotes!
On Tue, 22 Oct 2002 09:47:24 -0400, mwilson at the-wire.com (Mel Wilson)
wrote:
>In article <B9DA8790.27E15oss at objectmentor.com>,
>Bob Koss <koss at objectmentor.com> wrote:
>>I'm a very experienced C++/Java programmer. Can anyone recommend papers or
>>books that will help me avoid programming C++ using Python syntax and to
>>learn to do things the "Python way".
>
> I dunno, I found the docs supplied with the Python
>release to be very, very good. I ditched the O'Reilly books
>(for the first time in my life) and just learned from the
>docs.
>
> I only know a little C++ and Java, but it seemed that
>there was a pretty direct mapping of the useful parts.
>
> Lose the braces, as you know them, and most of the
>semicolons, obviously.
>
> Where you would use `<vector T>`, use lists, or tuples ,,
>that is [] or () . Where you would use `<map T1, T2>`, use
>dictionaries ,, that is {} .
>
> The semantics of iterators is available, but most of the
>syntax goes away. `for item in alist:` iterates over all
>the items in alist, one by one .. where `alist` is a
>sequence, i.e. a list, tuple, or string. To iterate over a
>sublist, use slices: `for item in alist[1:-1]:` does as
>above, but omits the first and last items.
>
> For trickier iterations, read and re-read the Library doc
>on the topic of general-purpose functions. There are some
>functions that apply to sequences: map, filter, reduce,
>zip. that can work wonders. Hidden somewhere under the
>documentation for sequences there is a description of string
>methods that you'll want to read.
>
> Hidden under the docs for 'Other Types' are the
>descriptions of all the file methods. There are no
>iostreams per se, but the class method __str__ can get some
>of the effect for your own classes, and there are surely
>other angles I haven't thought of.
>
> Forget polymorphism. You can define a function, and call
>it with anything you want, but if it has to behave
>differently for different type operands, you have to use the
>run-time type identification `type` function explicitely
>within the single definition of the function. Default
>arguments to functions are just as powerful a tool as in
>C++.
>
> In class definitions the equivalents of operator methods
>are covered in a chapter in the Python Language Reference.
>(Look for the double-underscore methods like __cmp__,
>__str__, __add__, etc.)
>
> In C, the gotcha for new users is probably about
>pointers; they're tricky and they can't be avoided. The
>gotchas in Python are situations when you use different
>references to a single object, thinking you are using
>different objects. I believe the difference between mutable
>and immutable objects comes into play. I have no clear
>answers here .. I still get caught once in a while .. keep
>your eyes open.
>
> Read the Tutorial once, skim the Library Reference .. at
>least the table of contents, then skim the Language
>Reference and you will probably have encountered everything
>you need.
>
> Regards. Mel.
More information about the Python-list
mailing list