~ All about Python


Why Python?

Python is rising in popularity and may well become the most popular and used language in the world! It is not only used by small start ups but also by big corporations like google, dropbox and instagram to build their sites. One reason for its popularity lies in the simplicity of its code but it is still a very powerful language indeed. From everything from game design, web based systems to high end application development, Python will do the job!

What is Python?

The Python programming language is now among the fastest growing languages in the world and is freely available for absolutely anyone to use. The key advantage or unique selling point of Python is that it makes solving a computer problem almost as easy as writing out your thoughts -it is a high level language and the syntax is very easy to learn, particularly compared to some other languages like Java and C. The code can be written once and run on almost any computer without needing to change the program. In technical terms, Python is an object-oriented, high-level programming language with integrated dynamic semantics primarily for web and app development.

 According to the all knowing Wikipedia, Python was conceived in the late 1980s and its implementation began in December 1989 by Guido van Rossum at Centrum Wiskunde & Informatica (CWI) in the Netherlands as a successor to the ABC language (itself inspired by SETL) capable of exception handling and interfacing with the operating system Amoeba. Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, Benevolent Dictator For Life (BDFL).

About the origin of Python, Van Rossum wrote in 1996:

Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office ... would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python's Flying Circus

Features and Philosophy

Python is a multi-paradigm programming language: object-oriented programming and structured programming are fully supported, and many language features support functional programming and aspect-oriented programming (including by metaprogrammingFeatures and Philosophy and metaobjects (magic methods)). Many other paradigms are supported via extensions, including design by contract and logic programming.

Python uses dynamic typing and a mix of reference counting and a cycle-detecting garbage collector for memory management. An important feature of Python is dynamic name resolution (late binding), which binds method and variable names during program execution.

The design of Python offers some support for functional programming in the Lisp tradition. The language has filter()map(), and reduce() functions; list comprehensions, dictionaries, and sets; and generator expressions. The standard library has two modules (itertools and functools) that implement functional tools borrowed from Haskell and Standard ML.

The core philosophy of the language is summarized by the document The Zen of Python (PEP 20), which includes aphorisms such as:

  •              Beautiful is better than ugly
  •              Explicit is better than implicit
  •              Simple is better than complex
  •              Complex is better than complicated
  •              Readability counts

Rather than requiring all desired functionality to be built into the language's core, Python was designed to be highly extensible. Python can also be embedded in existing applications that need a programmable interface. This design of a small core language with a large standard library and an easily extensible interpreter was intended by Van Rossum from the start because of his frustrations with ABC, which espoused the opposite mindset.

 

What is Python?

What is Python?

 

Code your solution here

Systems Life Cycle (in a nutshell): Analyse - Design - Create - Test - Evaluate. Designing something or writing out some pseudocode before you actually write code is always a good idea! Get in to the habit of doing so! You can draw your flowchart here and screenshot it.

A sample flow chart (design) for this particular challenge could look like:

Flowchart: Python program to get the Fibonacci series between 0 to 50
Each challenge section below provides an online drawing tool where you can dynamically create flowcharts. Screenshot them into your presentation for submission.

Solutions & Answers

Answers /Solutions in the "members area" drive under: "Solve and Learn >>SOLUTIONS"

Anything else you want to add? Leave a comment/question/suggestion

Coming soon!