[Tutor] What made Python differ from other Languages?

Dave Angel d at davea.name
Mon Feb 20 18:06:29 CET 2012


On 02/20/2012 11:43 AM, Sunil Tech wrote:
> *I am Beginner (very little i know), i want to know what are new things i
> can find in Python.*
>


There are thousands of computer languages out there.  Nearly every 
feature has an analog out there somewhere.  So "what's new" really 
depends on what language you're comparing it with.

You said you're a beginner.  Is that a beginner at Python, a beginner at 
programming, a beginner with computers, what?

If I assume you're knowledgeable in C++, I'd point to this set of features:

1) No braces. You build program structure simply by proper indentation.

2) No declarations.  A "variable" can contain an integer at one moment, 
and a dictionary of name/value pairs a moment later.  The objects have 
the type, not the name.

3) Built in types for the most useful collections, tuple, list, 
dictionary, and set.  And a large set of operations that can readily be 
done on them.

4) Duck typing.  You can pass anything you like to a function, and the 
things you pass may not be subclasses of the expected types, but if the 
right operations (methods) are supported, it'll work.  So you can define 
a "file like" object to a function that's expecting a file, and it 
doesn't have to be derived from file, it just has to have the right 
methods, and the equivalent semantics.

5) The kitchen sink.  The standard library has an enormous collection of 
useful stuff, most of it written in python.  Most of the time, you don't 
need to look to third party libraries to accomplish your goal.

6) Easy debugging.  There are a number of IDE's available, but it's not 
hard to debug code without one.  And you can run code fragments from a 
standard interpreter, and examine data and define new functions on the 
fly.  The system also supports introspection, so even the simplest error 
message tells you a lot about what was happening.  And when you need to, 
you can examine any object in the system, stack frames, types of 
objects, and so on.

7) Easy testing.  You can define some sanity tests in your own source 
code, in a special string called a docstring.  That string can thus have 
two uses:  documentation for the reader of the code, and first line of 
tests to make sure the code meets those tests.

-- 

DaveA



More information about the Tutor mailing list