Dana Vrajitoru
C151 Multi-User Operating Systems
Introduction to Python
Python Introduction
- 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: 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 function 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
- Function type: returns the type of an object.
type(0) - returns <type 'int'>
- Checking if something is an integer:
if type(x) == type(0): ...
- Reading a value from the terminal: input()
x = input()
- Returning a value from a function:
return True
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"
...
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
- Default values:
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