Jump to content
Dr4k3

An Intruduction to Python

Recommended Posts

Daca tot a amintit Kw3[R]ln aici de Python...sa vedem cu ce se mananca...:D

An 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

index[value].append(key)

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...