Introduction to USF's Department of Computer Science's AI Course in Python Programming - P, Study notes of Computer Science

An overview of python, its uses, and its implementation, as well as its basic structure, data types, mathematical operators, strings, lists, dictionaries, tuples, and files. It also covers python statements, variables, printing, conditionals, syntax, iteration, and functions.

Typology: Study notes

Pre 2010

Uploaded on 07/30/2009

koofers-user-49p
koofers-user-49p 🇺🇸

10 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Artificial Intelligence
Programming
Intro to Python
Chris Brooks
Department of Computer Science
University of San Francisco
What is Python?
Python is:
High-level
Object-oriented
Free, open-source
Dynamically typed
Has a large collection of utility libraries
garbage-collected
Mixable - works nicely as a “glue” language
Easy to learn/use
Departmentof Computer Science University of San Francisco p.1/??
Some uses of Python
Things that Python is good at:
System utilities
Python has hooks into standard OS-level services,
such as files, processes, pipes, etc.
GUIs
Python has interfaces to Tk, Qt, and WxPython
Embedded integration
Python has hooks that allow it to call/be called by C
and C++ code, and also COM interfaces.
Rapid Interactive Development
Like Lisp, Python makes it easy to quickly put
together a working program.
Scripting
Python has utilities for CGI, Database access,
HTTP, Sockets, FTP, POP/SMTP, XML parsing, etc.
Departmentof Computer Science University of San Francisco
Invoking Python Programs
There are four ways to run a Python program:
Interactively
From the command line
As a script
From another program
Departmentof Computer Science University of San Francisco p.3/??
Python Implementations
/usr/bin/python on all unix machines and on OS X
IDLE and PythonWin on Windows
MacPython on Macintosh
Also for Amiga, PalmOS, BeOS, etc.
BoaConstructor is an open-source Python IDE
Eclipse has a Python plugin (PyDev)
Departmentof Computer Science University of San Francisco p.4/??
Python Program Structure
Programs consist of modules
A module corresponds to a source file.
Modules contain blocks of statements
Statements create and process objects.
Departmentof Computer Science University of San Francisco
pf3
pf4
pf5

Partial preview of the text

Download Introduction to USF's Department of Computer Science's AI Course in Python Programming - P and more Study notes Computer Science in PDF only on Docsity!

Artificial IntelligenceProgramming^ Intro to Python

Chris BrooksDepartment of Computer ScienceUniversity of San Francisco

What is Python? Python is:^ High-level^ Object-oriented^ Free, open-source^ Dynamically typed^ Has a large collection of utility libraries^ garbage-collected^ Mixable - works nicely as a “glue” language^ Easy to learn/use

Department of Computer Science — University of San Francisco – p.1/

??

Some uses of Python Things that Python is good at:^ System utilities^ Python has hooks into standard OS-level services,such as files, processes, pipes, etc.^ GUIs^ Python has interfaces to Tk, Qt, and WxPython^ Embedded integration^ Python has hooks that allow it to call/be called by Cand C++ code, and also COM interfaces.^ Rapid Interactive Development^ Like Lisp, Python makes it easy to quickly puttogether a working program.^ Scripting^ Python has utilities for CGI, Database access,HTTP, Sockets, FTP, POP/SMTP, XML parsing, etc.

Department of Computer Science — University of San Fra

Invoking Python Programs There are four ways to run a Python program:^ Interactively^ From the command line^ As a script^ From another program

Department of Computer Science — University of San Francisco – p.3/

??

Python Implementations /usr/bin/python on all unix machines and on OS X IDLE and PythonWin on Windows MacPython on Macintosh Also for Amiga, PalmOS, BeOS, etc.^ BoaConstructor is an open-source Python IDE^ Eclipse has a Python plugin (PyDev)

Department of Computer Science — University of San Francisco – p.4/

??

Python Program Structure Programs consist of modules^ A module corresponds to a source file. Modules contain blocks of statements Statements create and process objects.

Department of Computer Science — University of San Fra

Basic Python Python has a nice set of built-in data types^ Numbers^ Strings^ Lists^ Sets^ Dictionaries^ Files Using built-in types makes your code easier towrite/maintain, more portable, and more efficient.

Department of Computer Science — University of San Francisco – p.6/

??

Numbers Numbers work like we’d expect. There are integers, equivalent to longs in C. (1, -31311,4000) There are^ long integers

, which are of unlimited size (31111L, 12345l) There are floats, equivalent to doubles in C or Java.1.23, 3.1e+5 There are Octal and Hexadecimal representations as inC. (0155, 0x3af5) There are complex numbers, as in Lisp, Matlab, etc.(3.0+4j)

Department of Computer Science — University of San Francisco – p.7/

??

Mathematical Operators Python has all the usual mathematical operators +,=,*,/, % «, » ** or pow for exponentiation abs, rand, |, & This makes Python a very handy desk calculator. Operations are coerced to the most specific type.^ 3 + (4.0 / 2) will produce a float.^ Common error: since variables do not have declaredtypes, be careful of rounding: 3 /2 == 1 !!

Department of Computer Science — University of San Fra

Strings One of Python’s strong suits is its ability to work withstrings. Strings are denoted with double quotes, as in C, orsingle quotes s1 + s2 - concatenation s1 * 3 - repetition s1[i] - indexing, s1[i:j] - slicing s1[-1] - last character “a % parrot” % “dead” - formatting for char in s1 - iteration

Department of Computer Science — University of San Francisco – p.9/

??

Strings Strings are immutable sequences - to change them, weneed to make a copy.^ Can’t do: s1[3] = ’c’^ Must do: s2 = s1[0:2] + ’c’ + s1[3:] As in Java, making lots of copies can be very inefficient.If you need to do lots of concatenation, use join instead. We’ll return to efficiency issues throughout the semester.

Department of Computer Science — University of San Francisco – p.10/

??

Lists Python has a flexible and powerful list structure. Lists are mutable sequences - can be changed in place. Denoted with square brackets. l1 = [1,2,3,4] Can create nested sublists. l2 = [1,2, [3,4, [5], 6], 7] l1 + l2 - concatenation. l1 * 4 - repetition l1[3:5], l1[:3], l1[5:] - slices append, extend, sort, reverse built in. Range - create a list of integers

Department of Computer Science — University of San Fran

Printing We’ve already seen the basic print.^ print “hello world” To use a formatting string, do:^ print “hello %s” % “bob”^ print "%s %s" % ("hello" , "world") To suppress the linefeed, include a ,

Department of Computer Science — University of San Francisco – p.18/

??

Conditionals The general format for an if statement is: if^ ^ :elif:^ ^ :else: Notice the colons after the conditionals. Compound statements consist of the colon, followed byan indented block.

Department of Computer Science — University of San Francisco – p.19/

??

Conditionals Logical tests return 1 for true and 0 for false. “True” and “False” are shorthand and, or, not are available for compound tests

Department of Computer Science — University of San Fran

Syntax Indentation is used to delimit blocks^ (If you are going to be editing your code on multiplemachines with different editors, you may want toconfigure your editor to use spaces instead of tabs.)^ Statements can cross multiple lines if:^ They’re within delimiters^ You use a backslash

Department of Computer Science — University of San Francisco – p.21/

??

Iteration Python has the familiar while loop. One wrinkle: it has an optional else clause to execute ifthe test is false. Additional loop control^ break^ Exit the innermost loop without doing an else^ continue^ Return to the beginning of the loop^ pass^ Do nothing

Department of Computer Science — University of San Francisco – p.22/

??

For For is a generic iterator in Python. Lets you loop over any indexable data structure.^ for item in [1,2,3,4,5]^ for char in “This is a string”^ for key in dictionary This provides a uniform (polymorphic) interface to a setof different data structures. Note: it’s much faster to use the polymorphic operatorthan to access manually.^ i.e. for item in list is faster than for i in len(list)^ for item in dictionary is faster than for item indictionary.keys()

Department of Computer Science — University of San Fran

Functions def is used to define a function. return returns a value Functions maintain local scope Names are resolved locally, then globally, then built-in

Department of Computer Science — University of San Francisco – p.24/

??

Functions Multiple values can be returned in a tuple. We can also provide default arguments. Functions can be called with keywords.^ myfunc(spam=1, eggs=2) *args can be used to catch arbitrary argument lists andstore them in a tuple. **args can be used to catch arbitrary argument lists andstore them in a dictionary.

Department of Computer Science — University of San Francisco – p.25/

??

Basic Python advice Let the language do the work for you^ e.g.: if x in [1,2,3,4] rather than an an explicit loop^ this is both faster and more readable Use a Python-aware editor/IDE Take advantage of the built-in modules wheneverpossible. Use the interpreter to help test your code All built-in modules are readable^ Looking at these can give insights into how theywork, as well as how to write good Python code.

Department of Computer Science — University of San Fran