Introduction to Python
C463 / B551 Artificial Intelligence
Introduction to Python
Python Overview
- An interpreted, compiled, and interactive, object-oriented,
dynamic, imperative, and open source programming language.
- Created in early 90's by Guido von Rossum at Stichting
Mathematisch Centrum in the Netherlands.
- The name comes from the Monty Python and not from the snake.
- There is a big community of Python programmers, with conferences
and magazines:
http://pycon.org/
- Web site: http://www.python.org.
Features of Python
- Interactive: one can launch a Python console and run instructions
directly it.
- Portable: available on most existing systems. It only requires a C
compiler to be ported to any new platform.
- Structure: functions, classes, modules.
- It is easy to embed Python with C and C++.
- The user can write their own code in C or C++ and compile it as
Python modules or functions. That makes Python extensible.
- Usual applications: scripts including CGI scripts, GUIs,
scientific computing.
- Many existing libraries for all sort of purposes.
Syntax Rules
- The syntax is designed to be simplified as compared to other
languages like C/C++.
- Every compound instruction ends with ":"
- There are no blocks of code; blocks are implicitly created by
indentation.
- Expressions: usual arithmetic operators, named logic operators:
and, or, not.
- Assignments use the = sign but they don't have to end with ";"
- Comments start with # as in shell scripting.
- Variables are declared by assigning them a value and they are
local to the block where they appear first.
Control Structures
- Conditional:
if condition:
instructions
elif condition: #*
instructions
else: # optional
instructions
- Loops:
while condition:
instructions
else: # optional
instructions
for var in S:
instructions
else: # optional
instructions
for i in range(n):
instructions
Built-in Data Structures
- Lists: linked lists implementing the subscript operator:
x = [1,2,3]
x.append(4)
print x[2] # result: 3
- Tupples: constant kind of arrays
x = (1,2,3)
- Dictionaries: association lists
x = {}
x["word"] = reference
for k in x.keys():
print x[k]
Functions and Parameters
More Built-in Functions
Example of Conditional
def check_type(x):
if type(x) == type(0):
print x, "is an integer"
elif type(x) == type(1.0):
print x, "is a float"
elif type(x) == type(""):
print x, "is a string"
elif type(x) == type([]):
print x, "is an array"
elif type(x) == type({}):
print x, "is a dictionary"
else:
print x, "is probably an object of a class"
Example of while/else
def Euler(a, b):
if b==0:
return a
r = a % b
while r:
a = b
b = r
r = a % b
else:
print "a divisible by b"
return b
return r
Booleans
Default Values for Parameters
def function (var1 = value, var2 = value, ...):
Just like in C++, all the parameters that have default values must be grouped at the end.
def GCD1(a=10, b=20): ...
GCD1() -> 10
GCD1(125) -> 5
GCD1(12, 39) -> 3
Variables and Scope
- Module: one python file.
- Global scope: exists in the module in which they are declared.
- Local scope: local to the function inside which it is declared.
- Global variables in a module can be accessed from somewhere else using the notation module.variable.
- Example: string.digits contains '0123456789'.
Example Scope
def test_scope():
for i in range(4):
for j in range (3):
x = i*10+j
if x>20:
print x,
print x
test_scope()
21 22 30 31 32 32
Try - Except
- try: attempts to execute an instruction.
- If the operation is successful, it moves on.
- If not, we have the option of doing something else with the instruction
except:
- Another option:
except error_type:
- which does something only for a particular type of exception.
def scope1():
y = 15
y = 20
def scope2():
y = 25
def scope3():
try:
print y
except:
print "cannot access global y"
print days
y = 25
print y
days=["monday", "tuesday"]
More examples in the file examples1.py.