2. Outline
• What is Python
• History
• Python Interpreter
• Syntax and Semantics
• Control Structures
• basic types: numbers, strings • container types: lists, dictionaries,
tuples • variables • control structures • functions & procedures •
classes & instances • modules & packages • exceptions • files &
standard library
• Applications
3. Python
• Simple
• Python is a simple and minimalistic language in nature
• Reading a good python program should be like reading English
• Its Pseudo-code nature allows one to concentrate on the problem rather than the language
• Easy to Learn
• Free & Open source
• Freely distributed and Open source
• Maintained by the Python community
• High Level Language –memory management
• Portable – *runs on anything c code will
4. Python
• Interpreted
• You run the program straight from the source code.
• Python program Bytecode a platforms native language
• You can just copy over your code to another system and it will auto-magically work! *with python
platform
• Object-Oriented
• Simple and additionally supports procedural programming
• Extensible – easily import other code
• Embeddable –easily place your code in non-python programs
• Extensive libraries
• (i.e. reg. expressions, doc generation, CGI, ftp, web browsers, ZIP, WAV, cryptography, etc...)
(wxPython, Twisted, Python Imaging library)
5. A Bit of History
• Python was conceived in the late 1980s.
• Guido van Rossum, Benevolent Dictator For Life
• Rossum is Dutch, born in Netherlands, Christmas break bored, big fan of
Monty python’s Flying Circus
• Descendant of ABC programming language, he wrote glob() func in UNIX
• Python 0.9.0 (initial version) was published in 1991
• Python 1.0 was released in 1994: included high-order functions
(lambda, map, filter, and reduce.
• Computer Programming for Everybody (CP4E) initiative
• Launched by Rossum to make programming accessible to more people, with
basic “literacy” similar to those required for English and math skills for some
jobs.
• Python 2.2 was released in 2001: Included unification of types and
classes into one hierarchy, making pythons object model purely
Object-oriented
6. Python Interpreter
• Interactive interface to Python
% python Python 2.5 (r25:51908, May 25 2007, 16:14:04)
[GCC 4.1.2 20061115 (prerelease) (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
• Python interpreter evaluates inputs:
>>> 3*(7+2) 27
• Python prompts with ‘>>>’.
• To exit Python: CTRL-D
• Running on UNIX
% python filename.py
• You could make the *.py file executable and add: #!/usr/bin/env python to the
top to make it runnable.
10. Loops/Iterations
• sentence = ['Marry','had','a','little','lamb’]
• for word in sentence:
print word, len(word)
• for i in range(10):
print i
for i in xrange(1000): # does not allocate all initially
print i
• while True:
pass
• for i in xrange(10):
if i == 3: continue
if i == 5: break
print i,