Python Tutorial (PDF)

32 downloads 409 Views 306KB Size Report
Many Python references online, including: – Python tutorial: http://docs.python. org/3/tutorial/index.html. – N.R. Ceder, The Quick Python Book, 2nd ed., Manning , ...
Python Tutorial CSE 3461: Computer Networking

1

Outline – – – –

Introduction to Python CSE Environment Tips for Python Primitive Types Tips for Encoding/Decoding an IP Address

2

Intro to Python • Dynamically typed, object-oriented, interpreted scripting language – – – –

Not statically typed like Java Objects and exceptions similar to Java Concise style (in contrast to C!) Interpreted via interpreter vs. compilation, linking, and execution

• Python 3.x breaks backward compatibility with 2.x – Not all libraries with 2.x work with 3.x (e.g., twister) – But 3.x offers features not found in 2.x…

• Many Python references online, including:

– Python tutorial: http://docs.python.org/3/tutorial/index.html – N.R. Ceder, The Quick Python Book, 2nd ed., Manning, 2010, http://proquest.safaribooksonline.com/book/programming/pytho n/9781935182207 3

Running Python Programs • Interpreters:

– Interactive mode (type ‘python’ at command line) – IDLE CSE Environment (type ‘idle’ at command line)

• Scripts

– Create a file beginning with:

#!/usr/bin/env python

– Then add your code

helloworld.py #!/usr/bin/env python print ‘Hello world’ $ python helloworld.py Hello world Running ‘Hello World’ in IDLE (above) and as a script (below). 4

Basic Data Types (1) • Numbers: – – – –

Integers (-3, 0, 5) Floats (3.0, -6.0, 2.5e12, -2.5e-12) Complex numbers (3+2j, -3-2j) Booleans (True, False)

• Strings: immutable sequences of characters, indices start at 0 – If a = ‘Python’, then a[0] returns ‘P’, a[5] returns ‘n’ – Positive and negative indices: +---+---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+---+ 0 1 2 3 4 5 6 -6 -5 -4 -3 -2 -1 – Slicing: a[i:j] returns substring of a containing characters i, i+1, … j-1 (e.g., a[2:4] returns “th”) – str() converts an “object” to a string, e.g., str(5) returns “5”5

Basic Data Types (2) • Lists: mutable sequences of “objects”

– Example: [1,2,3] and [1,‘two’,3] – List elements can be changed: if a = [1,5,9], a[1] = 4 yields a = [1,4,9] – Operators: len(), max(), min(), append(), count(), extend(), index(), insert(), pop(), remove(), reverse(), sort(), in, +, * – len() also returns length of string – list() constructs a list from its input

• Tuples: immutable “vectors” of objects (keys in dictionaries) – Example: (1,), (1,2), and (1, ‘two’, 3) – Operators in, +, *, len(), max(), min() apply – tuple() and list() convert lists to tuples and vice versa

6

Basic Data Types (3) • Dictionaries: maps between immutable keys and mutable values

– Ex: x={“one”:1,“two”:2} and [“three”]=3 yield x={“one”:1,“two”:2,“three”:3} – Operators: len(), del(), clear(), copy(), get(), has_key(), items(), keys(), update(), values()

• File objects: file I/O is very simple

– Ex: f = open(“file.txt”, “r”) line = f.readline() print(line) 7

Control Structures (1) • Boolean connectives are mostly the same as other languages (>, ≥, 5: x = x – 1 else: print(x) – What happens? – Notice indentation determines control structure “level”; no braces! Usually four spaces (no tabs)

8

Control Structures (2) • while loop: executes as long as stmt. is true – Example: x = 5 while (x > 0): x = x – 1 print(x)

• for loop: iterates over “iterable” objects… – Example: alist = list([1, 2, 3, 4]) for item in alist: print(item)

9

Function Definition • Python lets us define our own functions – Ex:

def find_mean(iterable): the_sum = 0 for x in iterable: the_sum = the_sum + x the_sum = float(the_sum / len(iterable)) return the_sum a = list([1,2,3,4]) mu_a = find_mean(a) print(mu_a) 10

Class Definition • Python enables object-oriented programming: • Ex. (Listing 3.3 in The Quick Python Book):

11

Outline • • • •

Introduction to Python CSE Environment Tips for Python Primitive Types Tips for Encoding/Decoding an IP Address

12

CSE Environment (1) • Both Python 2.x or 3.x are available on stdlinux • The default version of Python on stdlinux is 2.7.10 • To use Python 3.5.0, please use subscribe command – On stdlinux, type subscribe and select PYTHON-3 – Then, log out from and log in again to stdlinux – Please make sure that python3.x is installed with which python3

• The execution commands are – python for 2.7.10 – python3 for 3.5.0

13

CSE Environment (2) • How to find the IP address that you are logging in – /sbin/ifconfig eth0 | grep inet

• Submission command

– submit c3461ax lab1 [code1] [code2] … – Where x could be a, b, and so on – Note that the last submission overwrites the previous submission 14

Tips for Python Primitive Types • • • •

Introduction to Python CSE Environment Tips for Python Primitive Types Tips for Encoding/Decoding an IP Address

15

Encoding Integer to Bytes (Python 2.x) • For version 2.x, you can use "struct" class • Note that " import struct >> var = struct.unpack('

Suggest Documents