SlideShare a Scribd company logo
Python
 
History Created by Guido von Rossum in 1990 (BDFL) and named after Monty Python's Flying Circus Influences: ABC, Lisp, Perl, Haskell and Java Developed and supported by a large team of volunteers - Python Software Foundation Major implementations: CPython, Jython, Iron Python, PyPy
E.g. Projects with Python Websites: Google, YouTube, Yahoo Groups & Maps, CIA.gov Systems: NASA, LALN, CERN, Rackspace Games: Civilization 4, Quark (Quake Army Knife) Mobile phones: Nokia S60 (Symbian), PythonCE P2P: BitTorrent
What is Python Very high level scripting-cum-programming language (almost like pseudo-code) Multi-paradigm: OOP, Structured, Functional, Aspect-oriented Multi-platform Dynamic Typing Automatic garbage collector for memory management
Philosophy “ there is one -and preferably only one- obvious way to do it” “ The long-term usefulness of a language comes not in its ability to support clever hacks, but from how well and how unobtrusively it supports the day-to-day work of programming. The day-to-day work of programming consists not of writing new programs, but mostly reading and modifying existing ones.” - Eric Raymond, 'Why Python?' 2003
Readability Forced indentation No curly brackets / do..end / if...endif No semicolons
Syntax Types:  str, unicode  list, tuple, set dict int, float, complex, bool Conditions: if, elif, else Loops: for...in while
Why Python? Readability, maintainability Fast development and all just works the first time... Dynamic typing and automatic memory management Paradigm of your choice Extensive library
 
Some problems  Scripting-like language and compiled and runtime - hence slower than C/C++ and slightly slower than Java Memory economy hard to achieve (high level data-structures) Multiprocessing and Global interpreter lock
EXAMPLES
Example: Old Directory Cleanup Script
Example: Simple XML Processing
Example: Simple Spell Checker in 21 Lines

More Related Content

Why Python

  • 2.  
  • 3. History Created by Guido von Rossum in 1990 (BDFL) and named after Monty Python's Flying Circus Influences: ABC, Lisp, Perl, Haskell and Java Developed and supported by a large team of volunteers - Python Software Foundation Major implementations: CPython, Jython, Iron Python, PyPy
  • 4. E.g. Projects with Python Websites: Google, YouTube, Yahoo Groups & Maps, CIA.gov Systems: NASA, LALN, CERN, Rackspace Games: Civilization 4, Quark (Quake Army Knife) Mobile phones: Nokia S60 (Symbian), PythonCE P2P: BitTorrent
  • 5. What is Python Very high level scripting-cum-programming language (almost like pseudo-code) Multi-paradigm: OOP, Structured, Functional, Aspect-oriented Multi-platform Dynamic Typing Automatic garbage collector for memory management
  • 6. Philosophy “ there is one -and preferably only one- obvious way to do it” “ The long-term usefulness of a language comes not in its ability to support clever hacks, but from how well and how unobtrusively it supports the day-to-day work of programming. The day-to-day work of programming consists not of writing new programs, but mostly reading and modifying existing ones.” - Eric Raymond, 'Why Python?' 2003
  • 7. Readability Forced indentation No curly brackets / do..end / if...endif No semicolons
  • 8. Syntax Types: str, unicode list, tuple, set dict int, float, complex, bool Conditions: if, elif, else Loops: for...in while
  • 9. Why Python? Readability, maintainability Fast development and all just works the first time... Dynamic typing and automatic memory management Paradigm of your choice Extensive library
  • 10.  
  • 11. Some problems Scripting-like language and compiled and runtime - hence slower than C/C++ and slightly slower than Java Memory economy hard to achieve (high level data-structures) Multiprocessing and Global interpreter lock
  • 13. Example: Old Directory Cleanup Script
  • 14. Example: Simple XML Processing
  • 15. Example: Simple Spell Checker in 21 Lines