1 / 17

An Introduction to Python

An Introduction to Python. Blake Brogdon. What is Python?. Python is an interpreted, interactive, object-oriented programming language. (from python.org) Portable Dynamic (type/language features) GPL-compatible Java-like or Pythonic code. History. Written by Guido van Rossum

Download Presentation

An Introduction to Python

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Introduction to Python Blake Brogdon

  2. What is Python? • Python is an interpreted, interactive, object-oriented programming language. (from python.org) • Portable • Dynamic (type/language features) • GPL-compatible • Java-like or Pythonic code

  3. History • Written by Guido van Rossum • CWI (Netherlands) • 1991 • Released to USENET • 1995 • Corporation for National Research Initiatives (Reston, VA) • 2000 • BeOpen PythonLabs formed • Moved to Digital Creations (Zope Labs) • 2001 • PSF formed • Non-profit organization created specifically to own Python-related Intellectual Property (python.org)

  4. The Interactive Environment • Unlike Java, Python can be run in an interactive shell • Statements can be evaluated on the fly • Methods do not need to be a part of a class • A module is a file that contains Python code • Function, Class or even just expressions • To use a module’s code call “import modname” • ex. import os • To access that module’s members, prepend the module’s name to the member • ex. print os.path

  5. Basic Syntax • Indentation replaces brackets • No semicolons • Files can be called anything • Unlike Java, Python uses colons • http://www.hetland.org/python/instant-python.php • Built-ins: • True, False, None (null) • Everything is an object • Even functions and classnames

  6. Lists • Lists • Like Java’s arrays • Ex • [1,2,3] • [“Todd”, [“Blake”, “Pat”]] (lists can be nested) • [“Blake”, 3] (can mix types in lists) • Slicing • Like indexing…but better • Leads to very un-Java-like constructs

  7. Dictionaries • Like Java/AP’s Hashtable class • Examples • {“a”:1, “b”:2, “c”:3} • {1:2, 3:4, 5:6} • Any combination of different types/lists

  8. Functions • No access specifier(public/private) • No return type declaration • No typing of arguments • No brackets

  9. Classes • No access specifier (private/public) • Constructor = __init__ • All class methods take an implicit argument: self • Ex: __init__(self) • self == this • Instantiation does not require a “new” • Inheritance • class Dog(Animal): • Call to super via explicit superclass init call • Animal.__init__(self) • Instance variable • Set with self.myVar = 1 • Access with self.myVar

  10. Interesting Features • Optional arguments • List comprehensions • Generators • “and”/“or” tricks • Lambda functions

  11. List Comprehensions • Replace multi-line loops with a single statement • Output: [0, 2, 4, 6, 8] • range(x) returns all the numbers from 0 to x vs.

  12. Generators • Functions that can return a value and maintain their state between calls • Yield vs. Return • Output: 0 1 2 3 4 5 6 7 8 9 10

  13. Optional Arguments • Keyword arguments • A value is not necessary • Use value supplied at function definition • Like Java’s overloaded methods • Flexibility • Output: 0 1 2 3 4 5 6 7 8 9 10

  14. “And”/“Or” Tricks • “Empty” values evaluate to false • ex: 0, False, None, [], () • (Most) Everything else is True • A and B • If A is True return it. • If A is False return b • A or B • If a is true, then return it. • If it isn't, then return b.

  15. Lambda Functions • An anonymous function • So you don’t have to declare a separate, small function • Must be an expression (no ‘print’) • Can have any number of args • Output: [1, 4, 9, 16, 25] • Note: • map(f, list) applies function f to each element in list • x**2 = x*x

  16. How to Learn More • help(m) prints help for m • M can be a function, module, class or variable • dir(m) returns a list of all the public members of a module • obj.__doc__ is the documentation of a module, function or class • Links • http://rgruet.free.fr/PQR24/PQR2.4.html • http://hetland.org/python/instant-python • http://python.org/doc/2.4/tut/tut.html • http://python.org/download/

  17. Case Study • Documentation printer for all of the functions within a module

More Related