232x Filetype PDF File size 0.62 MB Source: fossies.org
PythonTutorial
Release 3.10.9
GuidovanRossum
andthePythondevelopmentteam
December06,2022
PythonSoftwareFoundation
Email: docs@python.org
CONTENTS
1 Whetting Your Appetite 3
2 Using the Python Interpreter 5
2.1 Invoking the Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Argument Passing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Interactive Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 TheInterpreter and Its Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Source Code Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 AnInformalIntroduction to Python 9
3.1 Using Python as a Calculator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.3 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 First Steps Towards Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 MoreControlFlowTools 17
4.1 ifStatements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 forStatements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 Therange()Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4 breakandcontinueStatements,andelseClausesonLoops . . . . . . . . . . . . . . . . . 19
4.5 passStatements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.6 matchStatements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.7 Defining Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.8 MoreonDefiningFunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.8.1 Default Argument Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.8.2 KeywordArguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.8.3 Special parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.8.4 Arbitrary Argument Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.8.5 Unpacking Argument Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.8.6 LambdaExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.8.7 Documentation Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.8.8 Function Annotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.9 Intermezzo: Coding Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 DataStructures 33
5.1 MoreonLists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.1 Using Lists as Stacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.1.2 Using Lists as Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.1.3 List Comprehensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.1.4 Nested List Comprehensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2 Thedelstatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.3 Tuples and Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.4 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.5 Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
i
5.6 Looping Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.7 MoreonConditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.8 Comparing Sequences and Other Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6 Modules 43
6.1 MoreonModules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.1.1 Executing modules as scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.2 TheModuleSearchPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.3 “Compiled” Python files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.2 Standard Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.3 Thedir()Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.4 Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.4.1 Importing * From a Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.4.2 Intra-package References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.4.3 Packages in Multiple Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7 Input and Output 51
7.1 Fancier Output Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.1.1 Formatted String Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.1.2 TheString format() Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.1.3 Manual String Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.1.4 Old string formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2 Reading and Writing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2.1 Methods of File Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.2.2 Saving structured data with json . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8 Errors and Exceptions 59
8.1 Syntax Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.2 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.3 Handling Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.4 Raising Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.5 Exception Chaining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.6 User-defined Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.7 Defining Clean-up Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.8 Predefined Clean-up Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9 Classes 67
9.1 AWordAboutNamesandObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.2 Python Scopes and Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
9.2.1 Scopes and Namespaces Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.3 AFirst Look at Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9.3.1 Class Definition Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9.3.2 Class Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9.3.3 Instance Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.3.4 MethodObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.3.5 Class and Instance Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.4 RandomRemarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
9.5 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
9.5.1 Multiple Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
9.6 Private Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
9.7 OddsandEnds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
9.8 Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
9.9 Generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
9.10 Generator Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10 Brief Tour of the Standard Library 81
10.1 Operating System Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.2 File Wildcards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.3 CommandLineArguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
ii
no reviews yet
Please Login to review.