4. Guido van Rossum
• Guido van Rossum, born in 31 January 1956, is a Dutch
computer programmer, who invented the Python
Programming Language. He is currently employed by
Google, where he spends half of his time working on
5. It is called Python, because
• Guido was reading the
published scripts from
a BBC comedy
series Monthy Python
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.
6. So what is Python?
• Python is an i. interpreted,
iii. object-oriented (OO)
iv. programming language (PL).
• Python is a dynamically typed language.
• Python combines remarkable power with very clear
• Python is portable: it runs on many Unix variants, on the
Mac, and on PCs under MS-DOS, Windows, Windows
NT, and OS/2.
7. Python Gossip
• Python plays well with others.
• Python runs everywhere.
• Python is friendly, and easy to learn.
• Python is open.
8. “Python is ...”
• “I love Python! Once you learn and use it, you don't want to go back to
anything else. It allows fast development, is easy to test and debug, and
comes with an extensive set of powerful features and libraries. For any
skeptics out there, YouTube is developed entirely on Python and works
beautifully!” said Özgür D. Şahin, Senior Software Engineer at YouTube.
• “Python has been important part of Google since the beginning, and
remains so as the system grows and evolves. Today, dozens of Google
engineers use Python, and we are looking for more people with skills in
this language,” said Peter Norvig, Director of Search Quality at Google,
• “Python makes us extremely productive, and makes maintaining a large
and rapidly evolving codebase relatively simple,” said Mark Shuttleworth
at Thawte Consulting and Canonical Ltd., Ubuntu OS sponsor.
9. Is Python a good language
for beginner programmers?
• For a student, who has never programmed before, using
a statically typed language seems unnatural. It slows the
• Python has a consistent syntax and a large standard
library. Students can focus on more important
programming skills, such as problem decomposition and
data type design, code reuse.
• Very early in the course, students can be assigned to
programming projects that do something.
10. Is Python a good language
for beginner programmers?
• Python’s interactive interpreter enables students to test
language features while they are programming.
• They can keep a window with the interpreter running,
while they enter their program’s source in another
• Python is extremely practical to teach basic
programming skills to students.
11. The name of our game
learn & practice & dream
12. 1 Installing Python
• Open the /Applications folder.
• Open the Utilities folder.
• Double-click Terminal to open a terminal window and
get to a command line.
• Type python at the command prompt.
• Make sure that you are running Python version 2.6.5.
13. 1.8 Interactive shell
• Python leads a double life.
• It's an interpreter for scripts that you can run from the
command line or by double-clicking the scripts. But
• It's also an interactive shell that can evaluate arbitrary
statements and expressions.
• This is useful for debugging, quick hacking, and testing.
• Some people use the Python interactive shell as a
15. 1.8 Interactive shell
• The Python interactive shell can evaluate arbitrary
Python expressions, including any basic arithmetic
expression (e.g., 1+1).
• The interactive shell can execute arbitrary Python
statements (e.g., print).
• You can also assign values to variables, and the values
will be remembered as long as the shell is open (but not
any longer than that.)
19. 2.2 Declaring Functions
• Python has functions like most other languages, but it
does not have separate header ﬁles like C++ or
interface/implementation section like Pascal.
def buildConnectionString(params): declaration
• Note that the keyword def starts the function
declaration, followed by the function name, followed by
the arguments in parentheses. Multiple arguments (not
shown here) are separated with commas.
20. Python Functions
• Python functions do not specify the datatype of their return
value; they don't even specify whether or not they
return a value.
• Every Python function returns a value; if the function
ever executes a return statement, it will return that
value, otherwise it will return None, (Python null value).
• The argument, params, doesn't specify a datatype. In
Python, variables are never explicitly typed. Python ﬁgures
out what type a variable is and keeps track of it
• In Python, you never
explicitly specify the datatype
• Based on what value you
assign, Python keeps track
of the datatype internally.
22. How Python datatypes
compare to other PLs
• statically typed language: types are ﬁxed at compile time. You are required to
declare all variables with their datatypes before using them. Java and C are
statically typed languages.
• dynamically typed language: types are discovered at execution time; the
opposite of statically typed. VBScript and Python are dynamically typed,
because they ﬁgure out what type a variable is when you ﬁrst assign it a
• strongly typed language: types are always enforced. Java and Python are
strongly typed. If you have an integer, you can't treat it like a string without
explicitly converting it.
• weakly typed language: types may be ignored; In VBScript, you can
concatenate the string '12' and the integer 3 to get the string '123', then
treat that as the integer 123, all without any explicit conversion.
23. Dynamic and Strong
• So Python is
both dynamically typed, because it doesn't use explicit
and it is strongly typed, because once a variable has a
datatype, it actually matters.
24. 2.3 Documenting functions
• You can document a Python function by giving it a doc string. string
• Triple quotes “1 ”2 ”3 signify a multiline string. Everything between the start
and end quotes is part of a single string, including carriage returns and
other quote characters.
• Everything between the triple quotes is the functions’s doc string, which
documents what the function does.
• You should always deﬁne a doc string for your function.
25. 2.4 Everything is an object
• Python functions have attributes and they are available
at run time. A doc string is an attribute that is available at
• A function is also an object.
26. Importing modules
• Import search path: when you try to import a
module (a chunk of code that does something), Python
uses the search path. Speciﬁcally, it searches in all
directories deﬁned in sys.path. This is a list and it is
modiﬁable with standard list methods.
• >>> import sys
(hint: sys is a module itself)
• >>> sys.path
28. 2.4 Everything is an object
• Everything in Python is an object, and almost everything
has attributes and methods.
• All functions have a built-in __doc__, which returns the
doc string deﬁned in the function’s source code.
• Everything is an object in the sense that it can be
assigned to a variable or passed as an argument to a
• Strings are objects, Lists are objects, Functions are
objects, Modules are objects, You are an object.
29. 2.5 Indenting code
• Python functions have
i. NO explicit begin or end, and
ii. NO curly braces to mark where the function code
starts and stops.
The only delimiter is a colon (:) and
the indentation of the code itself.
30. 2.5 Indenting code
• Code blocks are deﬁned by their indentation.
• By “code block”, I mean functions, if statements, for
loops, while loops, and so forth.
• Indenting starts a code block. Un-indenting ends that
• There are NO explicit braces, brackets, keywords used
for marking a code block.
36. code blocks
• just indent and get on with your life.
• indentation is a language requirement. not a matter of
• Python uses carriage return to separate statements.
• Python uses a colon and indentation to separate code