GE8161 PROBLEM SOLVING AND PYTHON PROGRAMMING LABORATORY Manual

Notes 71 Pages
YB

Contributed by

Yash Baria
Loading
  • 1
    INTRODUCTION
    TO
    PYTHON PROGRAMMING
    Downloaded from: annauniversityedu.blogspot.com

    Page 1

  • 2
    str
    else
    Expt: 1
    Date:
    INTRODUCTION TO PYTHON
    History of Python
    The programming language Python was conceived in the late 1980s, and its implementation was started in
    December 1989 by Guido van Rossum at CWI in the Netherlands as a successor to the ABC
    (programming language) capable of exception handling and interfacing with the Amoeba operating
    system. 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). Python was named for the BBC TV show Monty Python's Flying Circus.
    Python 2.0 was released on October 16, 2000, with many major new features, including a cycle- detecting
    garbage collector (in addition to reference counting) for memory management and support for Unicode.
    However, the most important change was to the development process itself, with a shift to a more
    transparent and community-backed process.
    Python 3.0, a major, backwards-incompatible release, was released on December 3, 2008 after a long
    period of testing. Many of its major features have also been backported to the backwards- compatible
    Python 2.6 and 2.7.
    Early history
    In February 1991, van Rossum published the code (labeled version 0.9.0) to alt.sources.Already present at
    this stage in development were classes with inheritance, exception handling, functions,
    and the core datatypes of list , dict , and so on. Also in this initial release was a module
    system borrowed from Modula-3; Van Rossum describes the module as "one of Python's major programming
    units".
    [1]
    Python's exception model also resembles Modula-3's, with the addition of
    an clause.
    [3]
    In 1994 comp.lang.python, the primary discussion forum for Python, was
    formed, marking a milestone in the growth of Python's userbase.
    Version
    Downloaded from: annauniversityedu.blogspot.com

    Page 2

  • 3
    filter
    Python reached version 1.0 in January 1994. The major new features included in this release
    were the functional programming tools lambda , map , and reduce . Van Rossum stated
    that "Python acquired lambda, reduce(), filter() and map(), courtesy of a Lisp hacker who missed them
    and submitted working patches".
    The last version released while Van Rossum was at CWI was Python 1.2. In 1995, Van Rossum continued
    his work on Python at the Corporation for National Research Initiatives(CNRI) in Reston, Virginia
    whence he released several versions.
    By version 1.4, Python had acquired several new features. Notable among these are the Modula- 3
    inspired keyword arguments (which are also similar to Common Lisp's keyword arguments) and built-in
    support for complex numbers. Also included is a basic form of data hiding by name mangling, though this
    is easily bypassed.
    During Van Rossum's stay at CNRI, he launched the Computer Programming for Everybody (CP4E)
    initiative, intending to make programming more accessible to more people, with a basic "literacy" in
    programming languages, similar to the basic English literacy and mathematics skills required by most
    employers. Python served a central role in this: because of its focus on clean syntax, it was already
    suitable, and CP4E's goals bore similarities to its predecessor, ABC. The project was funded by DARPA.
    As of 2007, the CP4E project is inactive, and while Python attempts to be easily learnable and not too
    arcane in its syntax and semantics, reaching out to non-programmers is not an active concern.
    BeOpen
    In 2000, the Python core development team moved to BeOpen.com to form the BeOpen
    PythonLabs team. CNRI requested that a version 1.6 be released, summarizing Python's development up
    to the point at which the development team left CNRI. Consequently, the release schedules for 1.6 and 2.0
    had a significant amount of overlap. Python 2.0 was the only release from BeOpen.com. After Python 2.0
    was released by BeOpen.com, Guido van Rossum and the other PythonLabs developers joined Digital
    Creations.
    The Python 1.6 release included a new CNRI license that was substantially longer than the CWI license
    that had been used for earlier releases. The new license included a clause stating that the
    Downloaded from: annauniversityedu.blogspot.com

    Page 3

  • 4
    license was governed by the laws of the State of Virginia. The Free Software Foundation argued that the
    choice-of-law clause was incompatible with the GNU General Public License. BeOpen, CNRI and the
    FSF negotiated a change to Python's free software license that would make it GPL-compatible. Python
    1.6.1 is essentially the same as Python 1.6, with a few minor bug fixes, and with the new GPL-compatible
    license
    Version 2
    Python 2.0 introduced list comprehensions, a feature borrowed from the functional programming
    languages SETL and Haskell. Python's syntax for this construct is very similar to Haskell's, apart from
    Haskell's preference for punctuation characters and Python's preference for alphabetic keywords. Python
    2.0 also introduced a garbage collection system capable of collecting reference cycles.
    Python 2.1 was close to Python 1.6.1, as well as Python 2.0. Its license was renamed Python Software
    Foundation License. All code, documentation and specifications added, from the time of Python 2.1's
    alpha release on, is owned by the Python Software Foundation (PSF), a non- profit organization formed in
    2001, modeled after the Apache Software Foundation. The release included a change to the language
    specification to support nested scopes, like other statically scoped languages. (The feature was turned off
    by default, and not required, until Python 2.2.)
    A major innovation in Python 2.2 was the unification of Python's types (types written in C) and classes
    (types written in Python) into one hierarchy. This single unification made Python's object model purely
    and consistently object oriented. Also added were generators which were inspired by Icon.
    Python 2.6 was released to coincide with Python 3.0, and included some features from that release, as
    well as a "warnings" mode that highlighted the use of features that were removed in Python 3.0.Similarly,
    Python 2.7 coincided with and included features from Python 3.1,which was released on June 26, 2009.
    Parallel 2.x and 3.x releases then ceased, and Python 2.7 was the last release in the 2.x series. In
    November 2014, it was announced that Python 2.7 would be supported until 2020, but users were
    encouraged to move to Python 3 as soon as possible.
    Version 3
    Downloaded from: annauniversityedu.blogspot.com

    Page 4

  • 5
    Python 3.0 (also called "Python 3000" or "Py3K") was released on December 3, 2008.It was designed to
    rectify fundamental design flaws in the languagethe changes required could not be implemented while
    retaining full backwards compatibility with the 2.x series, which necessitated a new major version
    number. The guiding principle of Python 3 was: "reduce feature duplication by removing old ways of
    doing things".
    Python 3.0 was developed with the same philosophy as in prior versions. However, as Python had
    accumulated new and redundant ways to program the same task, Python 3.0 had an emphasis on removing
    duplicative constructs and modules, in keeping with "There should be one and preferably only one
    obvious way to do it".
    Nonetheless, Python 3.0 remained a multi-paradigm language. Coders still had options among object-
    orientation, structured programming, functional programming and other paradigms, but within such broad
    choices, the details were intended to be more obvious in Python 3.0 than they were in Python 2.x.
    Compatibility
    Python 3.0 broke backward compatibility, and much Python 2 code does not run unmodified on Python 3.
    Python's dynamic typing combined with the plans to change the semantics of certain methods of
    dictionaries, for example, made perfect mechanical translation from Python 2.x to Python 3.0 very
    difficult. A tool called "2to3" does the parts of translation that can be done automatically. At this, 2to3
    appeared to be fairly successful, though an early review noted that there were aspects of translation that
    such a tool would never be able to handle.Prior to the roll- out of Python 3, projects requiring
    compatibility with both the 2.x and 3.x series were recommended to have one source (for the 2.x series),
    and produce releases for the Python 3.x platform using 2to3. Edits to the Python 3.x code were
    discouraged for so long as the code needed to run on Python 2.x.This is no longer recommended; as of
    2012 the preferred alternative is to create a single code base that can run under both Python 2 and 3 using
    compatibility modules.
    Features of Python
    a) Simple
    Downloaded from: annauniversityedu.blogspot.com

    Page 5

  • 6
    Python is a simple and minimalistic language. Reading a good Python program feels almost like reading
    English (but very strict English!). This pseudo-code nature of Python is one of its greatest strengths. It
    allows you to concentrate on the solution to the problem rather than the syntax i.e. the language itself.
    b) Easy to Learn
    As you will see, Python is extremely easy to get started with. Python has an extraordinarily simple syntax
    as already mentioned.
    c) Free and Open Source
    Python is an example of a FLOSS (Free/Libre and Open Source Software). In simple terms, you can
    freely distribute copies of this software, read the software's source code, make changes to it, use pieces of
    it in new free programs, and that you know you can do these things. FLOSS is based on the concept of a
    community which shares knowledge. This is one of the reasons why Python is so good - it has been
    created and improved by a community who just want to see a better Python.
    d) High-level Language
    When you write programs in Python, you never need to bother about low-level details such as managing
    the memory used by your program.
    e) Portable
    Due to its open-source nature, Python has been ported (i.e. changed to make it work on) to many many
    platforms. All your Python programs will work on any of these platforms without requiring any changes
    at all. However, you must be careful enough to avoid any system- dependent features.
    You can use Python on Linux, Windows, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS,
    OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus,
    Windows CE and PocketPC !
    Downloaded from: annauniversityedu.blogspot.com

    Page 6

  • 7
    f) Interpreted
    This requires a little explanation.
    A program written in a compiled language like C or C++ is translated from the source language
    i.e. C/C++ into a language spoken by your computer (binary code i.e. 0s and 1s) using a compiler with
    various flags and options. When you run the program, the linker/loader software just stores the binary
    code in the computer's memory and starts executing from the first instruction in the program.
    When you use an interpreted language like Python, there is no separate compilation and execution steps.
    You just run the program from the source code. Internally, Python converts the source code into an
    intermediate form called bytecodes and then translates this into the native language of your specific
    computer and then runs it. All this makes using Python so much easier. You just run your programs - you
    never have to worry about linking and loading with libraries, etc. They are also more portable this way
    because you can just copy your Python program into another system of any kind and it just works!
    g) Object Oriented
    Python supports procedure-oriented programming as well as object-oriented programming. In
    procedure-oriented languages, the program is built around procedures or functions which are nothing but
    reusable pieces of programs. In object-oriented languages, the program is built around objects which
    combine data and functionality. Python has a very powerful but simple way of doing object-oriented
    programming, especially, when compared to languages like C++ or Java.
    h) Extensible
    If you need a critical piece of code to run very fast, you can achieve this by writing that piece of code in
    C, and then combine that with your Python program.
    Downloaded from: annauniversityedu.blogspot.com

    Page 7

  • 8
    i) Embeddable
    You can embed Python within your C/C++ program to give scripting capabilities for your program's
    users.
    j) Extensive Libraries
    The Python Standard Library is huge indeed. It can help you do various things involving regular
    expressions, documentation generation, unit testing, threading, databases, web browsers, CGI, ftp, email,
    XML, XML-RPC, HTML, WAV files, cryptography, GUI(graphical user interfaces) using Tk, and also
    other system-dependent stuff. Remember, all this is always available wherever Python is installed. This is
    called the "batteries included" philosophy of Python.
    Besides the standard library, there are various other high-quality libraries such as the Python Imaging
    Library which is an amazingly simple image manipulation library.
    Version release dates
    Release dates for the major and minor versions:
    Python 1.0 - January 1994
    Python 1.5 - December 31, 1997
    Python 1.6 - September 5, 2000
    Python 2.0 - October 16, 2000
    Python 2.1 - April 17, 2001
    Python 2.2 - December 21, 2001
    Python 2.3 - July 29, 2003
    Python 2.4 - November 30, 2004
    Python 2.5 - September 19, 2006
    Python 2.6 - October 1, 2008
    Python 2.7 - July 3, 2010
    Downloaded from: annauniversityedu.blogspot.com

    Page 8

  • Python 3.0 - December 3, 2008
    Python 3.1 - June 27, 2009
    Python 3.2 - February 20, 2011
    Python 3.3 - September 29, 2012
    Python 3.4 - March 16, 2014
    Python 3.5 - September 13, 2015
    Python 3.6 - December 23, 2016
    Python is a widely used high-level programming language for general-purpose programming, created
    by Guido van Rossum and first released in 1991.
    Python is a general purpose programming language created in the late 1980s, and named after Monty
    Python, that's used by thousands of people to do things from testing microchips at Intel, to powering
    Instagram, to building video games with the PyGame library.
    Python is a programming language. It's used for many different applications. It's used in some high
    schools and colleges as an introductory programming language because Python is easy to learn, but it's
    also used by professional software developers at places such as Google, NASA, and Lucasfilm Ltd.
    When he began implementing Python, Guido van Rossum was also reading the published scripts from
    “Monty Python's Flying Circus”, a BBC comedy series from the 1970s. Van Rossum thought he needed
    a name that was short, unique, and slightly mysterious, so he decided to call the language Python.
    The Python programming language was conceived in the late 1980s, and its implementation was started
    in December 1989 by Guido van Rossum at CWI in the Netherlands as a successor to the ABC
    programming language capable of exception handling and interfacing with the Amoeba operating system.
    Python on a Macintosh running Mac OS X is in principle very similar to Python on any other Unix
    platform, but there are a number of additional features such as the IDE and the Package Manager that are
    worth pointing out. The Mac-specific modules are documented in Mac OS X specific services.
    9
    Downloaded from: annauniversityedu.blogspot.com

    Page 9

  • 10
    Python is a high-level programming language designed to be easy to read and simple to implement. It is
    open source, which means it is free to use, even for commercial applications. Python is considered a
    scripting language, like Ruby or Perl and is often used for creating Web applications and dynamic Web
    content
    Python is a widely used high-level programming language for general-purpose programming, created by
    Guido van Rossum and first released in 1991. CPython, the reference implementation of Python, is open
    source software and has a community-based development model, as do nearly all of its variant
    implementations
    Python is used in GIS programming. It is used as a scripting language for ArcGIS, and for Quantum GIS.
    Python is true general purpose language. Your question is kind of like asking, what area should you focus
    on if you want C++ job or Java job.
    Learning Python is really easy, a breeze if you've learned other object oriented programming languages.
    ... It's recommended to be the first language people learn as it contains all the OO concepts but is easier
    to read and less strongly typed as C++ or to a lesser extent Java.
    Apart from Windows, Linux and MacOS, CPython implementation runs on 21 different platforms.
    IronPython is a .NET framework based Python implementation and it is cabable of running in both
    Windows, Linux and in other environments where .NET framework is available.
    Python is, or can be used as the scripting language in these software products:
    Abaqus (Finite Element Software)
    Advantage Framework.
    Amarok.
    ArcGIS, a prominent GIS platform, allows extensive modeling using Python.
    Autodesk Maya, professional 3D modeler allows Python scripting as an alternative to MEL as of version
    8.5.
    Downloaded from: annauniversityedu.blogspot.com

    Page 10

Download this file to view remaining 61 pages

logo StudyDocs
StudyDocs is a platform where students and educators can share educational resources such as notes, lecture slides, study guides, and practice exams.

Contacts

Links

Resources

© 2025 StudyDocs. All Rights Reserved.