BrainMeta'   Connectomics'  

Welcome Guest ( Log In | Register )

Reply to this topicStart new topic
> Introduction To Python
post Feb 06, 2006, 02:15 AM
Post #1


Introduction to Python

Python is a portable, interpreted, object-oriented programming language. Its development started in 1990 at CWI in Amsterdam, and continues under the ownership of the Python Software Foundation. The language has an elegant (but not over-simplified) syntax; a small number of powerful high-level data types are built in. Python can be extended in a systematic fashion by adding new modules implemented in a compiled language such as C or C++. Such extension modules can define new functions and variables as well as new object types.

Here's a simple function written in Python, which inverts a table (represented as a Python dictionary):

def invert(table):
index = {} # empty dictionary
for key in table.keys():
value = table[key]
if not index.has_key(value):
index[value] = [] # empty list
return index

Note how Python uses indentation for statement grouping. Comments are introduced by a # character.

Here's an example of interactive use of this function (">>> " is the interpreter's prompt):

>>> phonebook = {'guido': 4127, 'sjoerd': 4127, 'jack': 4098}
>>> phonebook['dcab'] = 4147 # add an entry
>>> inverted_phonebook = invert(phonebook)
>>> print inverted_phonebook
{4098: ['jack'], 4127: ['guido', 'sjoerd'], 4147: ['dcab']}

Python has a full set of string operations (including regular expression matching), and frees the user from most hassles of memory management. These and other features make it an ideal language for prototype development and other ad-hoc programming tasks.

Python also has some features that make it possible to write large programs, even though it lacks most forms of compile-time checking: a program can be constructed out of a number of modules, each of which defines its own name space, and modules can define classes which provide further encapsulation. Exception handling makes it possible to catch errors where required without cluttering all code with error checking.

A large number of extension modules have been developed for Python. Some are part of the standard library of tools, usable in any Python program (e.g. the math library and regular expressions). Others are specific to a particular platform or environment (for example, UNIX, IP networking, or X11) or provide application-specific functionality (such as image or sound processing).

Python also provides facilities for introspection, so that a debugger or profiler (or other development tools) for Python programs can be written in Python itself. There is also a generic way to convert an object into a stream of bytes and back, which can be used to implement object persistency as well as various distributed object models.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:


Lo-Fi Version Time is now: 19th October 2018 - 07:28 PM

Home     |     About     |    Research     |    Forum     |    Feedback  

Copyright BrainMeta. All rights reserved.
Terms of Use  |  Last Modified Tue Jan 17 2006 12:39 am

BrainMeta is supported by donors of The Neurological Foundation. Donate today to help support us.