Seng 265
Attendance
Introduction to Python
1
This Week
Python
Command Line mode and Batch mode
Python is:
Interpreted
Dynamically Typed?
2
Python: Interpreted
Interpreted means that the programming
language is not really compiled like it is in C
but is interpreted by some other medium.
Think scripting language
NOTE: The definition interpreted is muddied
since the use of VMs to convert code to byte-
code (like Java and the JVM!).
3
Python: Typed?
Typed dynamically AND strongly?
But how??
Python is strongly-typed as the interpreter
keeps track of all variable types. Its also
dynamic as a variable type can be
changed on the fly by assignment, (use
care)
4
Python: Powerful
Very good at string parsing
Good glue language
(Used to glue modules and systems
together)
Object-oriented! (Classes! etc)
Portable!
Easy to use!
5
Python: In The Terminal
Open up a terminal
Create a new test directory called week06
and cd into it.
6
Python In The Terminal
You can open the Python interpreter in the
terminal by typing python3
$ python3
Some text will appear and then you will
see the prompt:
>>>
7
Python: Practice
You are now using the interpreter.
Type:
>>> print (start)
>>> greet = hello
>>> whom = world
>>> print (greet, whom)
>>> print(type(greet))
>>> print(len(greet))
8
Python:
Note: The terminal program lets us quickly
test Python constructs. When the values
were assigned, they are remembered
until we exit
A batch program is the same when stored
in a file name <progname>.py and
executed with $python3 progname.py)
9
Python: Lists
Lists in Python are arguably the most
useful structure.
A Python list is simply a list of comma-
separated items
They DO NOT have to be the same type!
Type:
>>> list1 = [name, Testy
McTesterson, age, 25]
10
Python: Lists
To print the list, we just have to call the
print command:
>>> print (list1)
>>> print(len(list1))
>>> print(list1[2])
>>> list1[2] = A
>>> print(list1)
11
Python: Lists
Iterating through the list.
Python has many built-in functions
>>> for item in myList:
print item
NOTE: The colon marks an enclosing
structure. At each level of enclosure you
must indent. Indentation marks blocks
12
Python: Side Note
Tabs are fine although you will find that
many Python examples use spaces. 4
spaces per indent seems to be common.
Functions, selection statements, loops and
all enclosing structures will use a colon
and require an indent.
Since end of line is a semicolon and indent
marks a block errors of indent are
common.
13
Python: Lists Continued
We have seen that Lists can be accessed
using indices and insertion can use an
index.
Experiment with sub lists
>>> print (list1[1:])
>>> print (list1[:2])
>>> print (list1[2:3])
>>> print (list1.pop(2))
>>> print (list1)
14
Python: Lists
There are a variety of other functions you
can call on lists
Here are a few:
>>> list1.append(newstring)
>>> list1.sort()
>>> list1.reverse()
>>> print (list1)
15
Python: Tuples
Tuples are the immutable equivalent of lists
Immutable means that they CANNOT be
changed
Tuples use the round brackets () instead of
square ones []
>>> t = (test, 1, 2, 3, liftoff)
>>> print t
('test', 1, 2, 3, 'liftoff')
16
Python: Tuples
Tuples are immutable (they cant be
changed) but we can combine tuples
(Continuing from previous statements):
>>> t2 = ('more', 9, 8, 7, 'less')
>>> t3 = t + t2
>>> print t3
('test', 1, 2, 3, 'liftoff', 'more', 9, 8, 7, 'less')
17
Python: Tuples
Why would we want to use something that
works like restricted lists?
Because you can use tuples for operations
such as returning multiple variables from a
function and they are very light-weight
compared to lists
18
Python: Tuples
You can make tuples (or lists) quite easily
using the following:
>>> test = Testy
>>> list(test)
['T', 'e', 's', 't', 'y']
>>> tuple(test)
('T', 'e', 's', 't', 'y')
19
Python: Tuples
One more thing
You can do this in Python:
>>> var1, var2 = (1, 2)
>>> var1
1
>>> var2
2
* So you can do this var1, var2 = foo()
If foo() returns 2 variables in a tuple
20
Python: Strings
Strings are nice in Python
>>> name = Testy
There are lots of functions to use (Google
python strings)
21
Python: Strings
You can use the str() function to convert a
variable to a string:
>>> a = 100
>>> print(type(a))
>>> str(a)
>>> print(type(a))
22
A Batch Program
See batch code example in this weeks
folder: makehtml.py uses testfile.csv
Take batch program examine test and run.
EX 1. Make input a tabbed delimited file.
EX 2. Put in table header row and take out
the alternating color.
EX 3. Create a method that is able to add
rows before output.
23