[PDF] album anglais maternelle
[PDF] découvrir l'anglais avec des albums de jeunesse cy
[PDF] album anglais cycle 3
[PDF] liste album anglais cycle 3
[PDF] album anglais ce2
[PDF] découvrir l'anglais avec des albums de jeunesse cy
[PDF] album jeunesse en anglais
[PDF] album anglais cycle 1
[PDF] expressions québécoises droles
[PDF] vieux patois quebecois
[PDF] proverbe quebecoise
[PDF] expressions québécoises illustrées
[PDF] expressions québécoises imagées
[PDF] liste patois québécois
[PDF] dictionnaire des expressions québécoises
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
4CONTENTS
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 Theinoperator . . . . . . . . . . . . . . . . . . . . . . 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 Theprintcommand . . . . . . . . . . . . . . . . . . . . . . . 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.4ifstatement . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.5forloops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.6forloops and therangefunction . . . . . . . . . . . . . . . . 78
6.7whileloops . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.8 Control in Loops:breakandcontinue. . . . . . . . . . . . . 82
6.9 List Comprehensions . . . . . . . . . . . . . . . . . . . . . . . 84
CONTENTS5
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 Thestringmodule . . . . . . . . . . . . . . . . . . . . . . . . 106
8.4.1 String Constants . . . . . . . . . . . . . . . . . . . . . 106
8.4.2 Functions in thestringmodule . . . . . . . . . . . . . 107
8.5 Theremodule: 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:osandshutilmodules . . . . . . 121
8.7 Expansion of Filename wildcards - theglobmodule . . . . . . 125
8.8 Information about your Python session - thesysmodule . . . 126
8.9 Copying: thecopymodule . . . . . . . . . . . . . . . . . . . . 127
8.10 Object Persistence: thepickle/cPickleandshelvemodules 128
8.10.1 Pickling . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.10.2 Theshelvemodule . . . . . . . . . . . . . . . . . . . . 130
8.11 CGI (Common Gateway Interface): thecgimodule . . . . . . 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: theurllibmodule . . . . 135
6CONTENTS
9 Exceptions 139
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
9.2 Tracebacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
9.3 Dealing with Multiple Exceptions . . . . . . . . . . . . . . . . 140
9.4 The Exception Hierarchy . . . . . . . . . . . . . . . . . . . . . 142
9.5 Raising Exceptions . . . . . . . . . . . . . . . . . . . . . . . . 142
10 Writing Modules 147
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.2 An Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
10.3 Test Programs for Modules . . . . . . . . . . . . . . . . . . . . 150
10.4 Classes and Object Oriented Programming . . . . . . . . . . . 151
10.5 Operator Overloading . . . . . . . . . . . . . . . . . . . . . . . 152
10.6 Private Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.7 A First Example of Classes . . . . . . . . . . . . . . . . . . . . 153
10.8 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.9 Adding Methods to the Basic Types . . . . . . . . . . . . . . . 163
10.10Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Chapter 1
Introduction
1.1 What is Python?
Python is a high-level scripting language which can be used for a wide variety of text processing, system administration and internet-related tasks. Unlike many similar languages, it"s core language is very small and easy to mas- ter, while allowing the addition of modules to perform a virtually limitless variety of tasks. Python is a true object-oriented language, and is available on a wide variety of platforms. There"s even a python interpreter written entirely in Java, further enhancing python"s position as an excellent solutionquotesdbs_dbs2.pdfusesText_2