tutorial.pdf

(470 KB) Pobierz
Python Tutorial
Release3.4.0
Guido van Rossum
Fred L. Drake, Jr., editor
April 17, 2014
Python Software Foundation
Email:docs@python.org
CONTENTS
1
Whetting Your Appetite
3
2
Using the Python Interpreter
5
2.1
Invoking the Interpreter
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2
The Interpreter and Its Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3
An Informal Introduction to Python
9
3.1
Using Python as a Calculator
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3.2
First Steps Towards Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
4
More Control Flow Tools
17
4.1 if Statements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
4.2 for Statements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
4.3
The range() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
4.4 break and continue Statements, and else Clauses on Loops . . . . . . . . . . . . . . . . .
19
4.5 pass Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.6
Defining Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.7
More on Defining Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.8
Intermezzo: Coding Style
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
5
Data Structures
27
5.1
More on Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
5.2
The del statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
5.3
Tuples and Sequences
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
5.4
Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
5.5
Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
5.6
Looping Techniques
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
5.7
More on Conditions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
5.8
Comparing Sequences and Other Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
6
Modules
37
6.1
More on Modules
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
6.2
Standard Modules
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
6.3
The dir() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
6.4
Packages
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
7
Input and Output
45
7.1
Fancier Output Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
7.2
Reading and Writing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
8
Errors and Exceptions
51
8.1
Syntax Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
8.2
Exceptions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
8.3
Handling Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
8.4
Raising Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
8.5
User-defined Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
i
8.6
Defining Clean-up Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
8.7
Predefined Clean-up Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
9
Classes
57
9.1
A Word About Names and Objects
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
9.2
Python Scopes and Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
9.3
A First Look at Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
9.4
Random Remarks
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
9.5
Inheritance
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
9.6
Private Variables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
9.7
Odds and Ends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
9.8
Exceptions Are Classes Too
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
9.9
Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
9.10
Generators
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
9.11
Generator Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
10 Brief Tour of the Standard Library
69
10.1
Operating System Interface
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
10.2
File Wildcards
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
10.3
Command Line Arguments
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
10.4
Error Output Redirection and Program Termination . . . . . . . . . . . . . . . . . . . . . . . . .
70
10.5
String Pattern Matching
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
10.6
Mathematics
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
10.7
Internet Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
10.8
Dates and Times
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
10.9
Data Compression
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
10.10 Performance Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
10.11 Quality Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
10.12 Batteries Included
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
11 Brief Tour of the Standard Library – Part II
75
11.1
Output Formatting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
11.2
Templating
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
11.3
Working with Binary Data Record Layouts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
11.4
Multi-threading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
11.5
Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
11.6
Weak References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
11.7
Tools for Working with Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
11.8
Decimal Floating Point Arithmetic
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
12 What Now?
81
13 Interactive Input Editing and History Substitution
83
13.1
Tab Completion and History Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
13.2
Alternatives to the Interactive Interpreter
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
14 Floating Point Arithmetic: Issues and Limitations
85
14.1
Representation Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
A
Glossary
89
B
About these documents
99
B.1
Contributors to the Python Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
C
History and License
101
C.1
History of the software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
C.2
Terms and conditions for accessing or otherwise using Python . . . . . . . . . . . . . . . . . . . 101
C.3
Licenses and Acknowledgements for Incorporated Software
. . . . . . . . . . . . . . . . . . . . 104
D
Copyright
117
ii
Index
119
iii
Zgłoś jeśli naruszono regulamin