Introduction to Python Programming Course Notes
Introduction to Python Programming Course Notes
Phil Spector Department of Statistics, University of California Berkeley
March 16, 2005
2
Contents
1 Introduction
7
1.1 What is Python? . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 The very Basics of Python . . . . . . . . . . . . . . . . . . . . 8
1.3 Invoking Python . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Basic Principles of Python . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Basic Core Language . . . . . . . . . . . . . . . . . . . 11
1.4.2 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.3 Object Oriented Programming . . . . . . . . . . . . . . 12
1.4.4 Namespaces and Variable Scoping . . . . . . . . . . . . 13
1.4.5 Exception Handling . . . . . . . . . . . . . . . . . . . . 15
2 String Data
17
2.1 String Constants . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Special Characters and Raw Strings . . . . . . . . . . . . . . . 18
2.3 Unicode Strings . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 String Operations . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.1 Concatenation . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.2 Repetition . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.3 Indexing and Slicing . . . . . . . . . . . . . . . . . . . 21
2.4.4 Functions and Methods for Character Strings . . . . . 23
3 Numeric Data
29
3.1 Types of Numeric Data . . . . . . . . . . . . . . . . . . . . . . 29
3.1.1 Hexadecimal and Octal Constants . . . . . . . . . . . . 31
3.1.2 Numeric Operators . . . . . . . . . . . . . . . . . . . . 31
3.1.3 Functions for Numeric Data . . . . . . . . . . . . . . . 32
3.2 Conversion of Scalar Types . . . . . . . . . . . . . . . . . . . . 33
3
4
CONTENTS
4 Lists, Tuples and Dictionaries
37
4.1 List Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 List Indexing and Slicing . . . . . . . . . . . . . . . . . . . . . 39
4.3 List Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3.1 Concatenation . . . . . . . . . . . . . . . . . . . . . . . 42
4.3.2 Repetition . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.3 The in operator . . . . . . . . . . . . . . . . . . . . . . 43
4.4 Functions and Methods for Lists . . . . . . . . . . . . . . . . . 44
4.5 Tuple Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.6 Operators and Indexing for Tuples . . . . . . . . . . . . . . . 49
4.7 Functions and Methods for Tuples . . . . . . . . . . . . . . . . 49
4.8 Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.9 Functions and Methods for Dictionaries . . . . . . . . . . . . . 52
5 Input and Output
55
5.1 The print command . . . . . . . . . . . . . . . . . . . . . . . 55
5.2 Formatting Strings . . . . . . . . . . . . . . . . . . . . . . . . 55
5.3 Using Names in Format Strings . . . . . . . . . . . . . . . . . 57
5.4 File Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4.1 Methods for Reading . . . . . . . . . . . . . . . . . . . 59
5.4.2 Methods for Writing . . . . . . . . . . . . . . . . . . . 60
5.4.3 "Printing" to a File . . . . . . . . . . . . . . . . . . . . 60
5.4.4 Other Methods . . . . . . . . . . . . . . . . . . . . . . 61
5.4.5 File Object Variables . . . . . . . . . . . . . . . . . . . 61
5.5 Standard Input and Output Streams . . . . . . . . . . . . . . 62
5.6 Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6 Programming
67
6.1 Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2 Indentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.3 Truth, Falsehood and Logical Operators . . . . . . . . . . . . 72
6.4 if statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.5 for loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.6 for loops and the range function . . . . . . . . . . . . . . . . 78
6.7 while loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.8 Control in Loops: break and continue . . . . . . . . . . . . . 82
6.9 List Comprehensions . . . . . . . . . . . . . . . . . . . . . . . 84
CONTENTS
5
7 Functions
87
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.2 Scoping: How Python finds your variables . . . . . . . . . . . 88
7.3 Function Basics . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.4 Named Arguments and Default Values . . . . . . . . . . . . . 93
7.5 Variable Number of Arguments . . . . . . . . . . . . . . . . . 96
7.6 Functional Programming, and anonymous functions . . . . . . 98
8 Using Modules
103
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.2 Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.3 Functions for working with modules . . . . . . . . . . . . . . . 106
8.4 The string module . . . . . . . . . . . . . . . . . . . . . . . . 106
8.4.1 String Constants . . . . . . . . . . . . . . . . . . . . . 106
8.4.2 Functions in the string module . . . . . . . . . . . . . 107
8.5 The re module: Regular Expressions . . . . . . . . . . . . . . 109
8.5.1 Introduction to Regular Expressions . . . . . . . . . . 109
8.5.2 Constructing Regular Expressions . . . . . . . . . . . . 109
8.5.3 Compiling Regular Expressions . . . . . . . . . . . . . 110
8.5.4 Finding Regular Expression Matches . . . . . . . . . . 111
8.5.5 Tagging in Regular Expressions . . . . . . . . . . . . . 113
8.5.6 Using Named Groups for Tagging . . . . . . . . . . . . 115
8.5.7 Greediness of Regular Expressions . . . . . . . . . . . . 116
8.5.8 Multiple Matches . . . . . . . . . . . . . . . . . . . . . 117
8.5.9 Substitutions . . . . . . . . . . . . . . . . . . . . . . . 119
8.6 Operating System Services: os and shutil modules . . . . . . 121
8.7 Expansion of Filename wildcards - the glob module . . . . . . 125
8.8 Information about your Python session - the sys module . . . 126
8.9 Copying: the copy module . . . . . . . . . . . . . . . . . . . . 127
8.10 Object Persistence: the pickle/cPickle and shelve modules 128
8.10.1 Pickling . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.10.2 The shelve module . . . . . . . . . . . . . . . . . . . . 130
8.11 CGI (Common Gateway Interface): the cgi module . . . . . . 131
8.11.1 Introduction to CGI . . . . . . . . . . . . . . . . . . . 131
8.11.2 Security Concerns . . . . . . . . . . . . . . . . . . . . . 134
8.11.3 CGI Environmental Variables . . . . . . . . . . . . . . 135
8.12 Accessing Documents on the Web: the urllib module . . . . 135
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- online course introduction to communicati
- introduction to marketing notes pdf
- introduction to management course syllabus
- introduction to management course pdf
- introduction to psychology notes pdf
- introduction to java programming pdf
- introduction to java programming and data structures
- introduction to java programming 10th
- introduction to java programming liang
- introduction to java programming ppt
- introduction to python pdf
- introduction to java programming liang pdf