Introduction to Python
A readable, dynamic, pleasant,
flexible, fast and powerful language
Overview
Background
Syntax
Types / Operators / Control Flow
Functions
Classes
Tools
What is Python
Multi-purpose (Web, GUI, Scripting, etc.)
Object Oriented
Interpreted
Strongly typed and Dynamically typed
Focus on readability and productivity
Features
Batteries Included
Everything is an Object
Interactive Shell
Strong Introspection
Cross Platform
CPython, Jython, IronPython, PyPy
Who Uses Python
Google (Youtube)
NASA
Dropbox
IBM
Instagram
Mozilla
Who Uses Python
Yahoo
Quora
Reddit
Red Hat
Git Hub
Cisco
… List goes on …
Releases
Created in 1989 by Guido Van Rossum
Python 1.0 released in 1994
Python 2.0 released in 2000
Python 3.0 released in 2008
Python 2.7 is the recommended version
3.7 version is Latest
Syntax
Hello World
hello_world.py
Indentation
Most languages don’t care about indentation
Most humans do
We tend to group similar things together
Indentation Allow to Code Beautifully
Indentation
The else here actually belongs to the 2nd if
statement
Indentation
Text
Python embraces
indentation
Comments
Types
Strings
Numbers
Null
Lists
Lists
Dictionaries
Dictionary Methods
Booleans
Operators
Arithmetic
String Manipulation
Logical Comparison
Identity Comparison
Arithmetic Comparison
Control Flow
Conditionals
For Loop
Expanded For Loop
While Loop
List Comprehensions
Useful for replacing simple for-loops.
Functions
Basic Function
Function Arguments
Arbitrary Arguments
Fibonacci
Fibonacci Generator
Classes
Class Declaration
Class Attributes
Attributes assigned at class declaration should always be
immutable
Class Methods
Class Instantiation &
Attribute Access
Class Inheritance
Python’s Way
No interfaces
No real private attributes/functions
Private attributes start (but do not end) with double
underscores.
Special class methods start and end with double
underscores.
__init__, __doc__, __cmp__, __str__
Imports
Allows code isolation and re-use
Adds references to variables/classes/functions/etc.
into current namespace
Imports
More Imports
Error Handling
Documentation
Docstrings
Tools
Web Frameworks
Django
Flask
Pylons
TurboGears
Zope
Grok
IDEs
Emacs
Vim
Komodo
PyCharm
Eclipse (PyDev)
Package Management
Resources
http://python.org/
http://diveintopython.org/
http://djangoproject.com/
Questions?
Thanks!