terça-feira, 16 de agosto de 2011

Livro: Byte of Python (sobre Python 3.0)

Print Friendly and PDF
A Byte of Python é um livro sobre programação utilizando a linguagem Python. Ele serve como um tutorial ou guia da linguagem Python para iniciantes.

Versão em inglês:

Versão on-line em português


Sumário

1 A Byte of Python 8
1.1 Who Reads A Byte of Python? . . . . . . . . . . . . . . . . . . . 8
1.2 Academic Courses . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4 Read Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Buy the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6 Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 Read the book in your native language. . . . . . . . . . . . . . . 13
2 Preface 13
2.1 Who This Book Is For . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 History Lesson . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Status Of The Book . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Official Website. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5 Something To Think About . . . . . . . . . . . . . . . . . . . . . 14
3 Introduction 15
3.1 Features of Python . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.1 Simple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.2 Easy to Learn. . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.3 Free and Open Source . . . . . . . . . . . . . . . . . . . . 15
3.1.4 High-level Language . . . . . . . . . . . . . . . . . . . . . 16
1
3.1.5 Portable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.6 Interpreted . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.7 Object Oriented . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.8 Extensible. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.9 Embeddable. . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.10 Extensive Libraries. . . . . . . . . . . . . . . . . . . . . . 17
3.2 Python 2 versus 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 What Programmers Say . . . . . . . . . . . . . . . . . . . . . . . 18
4 Installation 18
4.1 Installation on Windows . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.1 DOS Prompt . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.2 Running Python prompt on Windows . . . . . . . . . . . 20
4.2 Installation on Mac OS X . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Installation on Linux . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5 First Steps 21
5.1 Using The Interpreter Prompt. . . . . . . . . . . . . . . . . . . . 21
5.2 Choosing An Editor . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.3 Using A Source File . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3.1 Executable Python Programs . . . . . . . . . . . . . . . . 25
5.4 Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6 Basics 27
6.1 Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2 Literal Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.3 Numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.4 Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.4.1 Single Quote . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.4.2 Double Quotes . . . . . . . . . . . . . . . . . . . . . . . . 29
2
6.4.3 Triple Quotes . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.4.4 Strings Are Immutable. . . . . . . . . . . . . . . . . . . . 29
6.4.5 The format method . . . . . . . . . . . . . . . . . . . . . 30
6.5 Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.6 Identifier Naming. . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.7 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.8 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.9 How to write Python programs . . . . . . . . . . . . . . . . . . . 32
6.10 Example: Using Variables And Literal Constants . . . . . . . . . 32
6.10.1 Logical And Physical Line. . . . . . . . . . . . . . . . . . 33
6.10.2 Indentation . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.11 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7 Operators and Expressions 36
7.1 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.1.1 Shortcut for math operation and assignment . . . . . . . 38
7.2 Evaluation Order . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.3 Changing the Order Of Evaluation . . . . . . . . . . . . . . . . . 40
7.4 Associativity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.5 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8 Control Flow 41
8.1 The if statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.2 The while Statement . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.3 The for loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.4 The break Statement. . . . . . . . . . . . . . . . . . . . . . . . . 46
8.4.1 Swaroop’s Poetic Python . . . . . . . . . . . . . . . . . . 47
8.5 The continue Statement . . . . . . . . . . . . . . . . . . . . . . . 47
8.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3
9 Functions 48
9.1 Function Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.2 Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.3 Using The global Statement . . . . . . . . . . . . . . . . . . . . . 51
9.4 Default Argument Values . . . . . . . . . . . . . . . . . . . . . . 52
9.5 Keyword Arguments . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.6 VarArgs parameters . . . . . . . . . . . . . . . . . . . . . . . . . 54
9.7 Keyword-only Parameters . . . . . . . . . . . . . . . . . . . . . . 55
9.8 The return Statement . . . . . . . . . . . . . . . . . . . . . . . . 56
9.9 DocStrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
10 Modules 58
10.1 Byte-compiled .pyc files . . . . . . . . . . . . . . . . . . . . . . . 60
10.2 The from .. . import statement . . . . . . . . . . . . . . . . . . . 60
10.3 A module’sname . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.4 Making Your Own Modules . . . . . . . . . . . . . . . . . . . . . 61
10.5 The dir function . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.6 Packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
11 Data Structures 65
11.1 List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
11.1.1 Quick Introduction To Objects And Classes . . . . . . . . 66
11.2 Tuple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
11.3 Dictionary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
11.4 Sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
11.5 Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
11.6 References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
11.7 More About Strings . . . . . . . . . . . . . . . . . . . . . . . . . 75
11.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4
12 Problem Solving 76
12.1 The Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
12.2 The Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
12.3 Second Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
12.4 Third Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
12.5 Fourth Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
12.6 More Refinements . . . . . . . . . . . . . . . . . . . . . . . . . . 84
12.7 The Software Development Process . . . . . . . . . . . . . . . . . 85
12.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
13 Object Oriented Programming 85
13.1 The self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
13.2 Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
13.3 Object Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
13.4 Theinit method. . . . . . . . . . . . . . . . . . . . . . . . . . . 88
13.5 Class And Object Variables . . . . . . . . . . . . . . . . . . . . . 89
13.6 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
13.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
14 Input Output 95
14.1 Input from user. . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
14.2 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
14.3 Pickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
14.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
15 Exceptions 99
15.1 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
15.2 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
15.3 Handling Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . 100
15.4 Raising Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . 101
15.5 Try .. Finally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
15.6 The with statement . . . . . . . . . . . . . . . . . . . . . . . . . 103
15.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5
16 Standard Library 104
16.1 sys module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
16.2 logging module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
16.3 Module of the Week Series. . . . . . . . . . . . . . . . . . . . . . 107
16.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
17 More 107
17.1 Passing tuples around . . . . . . . . . . . . . . . . . . . . . . . . 108
17.2 Special Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
17.3 Single Statement Blocks . . . . . . . . . . . . . . . . . . . . . . . 109
17.4 Lambda Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
17.5 List Comprehension . . . . . . . . . . . . . . . . . . . . . . . . . 110
17.6 Receiving Tuples and Dictionaries in Functions . . . . . . . . . . 110
17.7 The assert statement . . . . . . . . . . . . . . . . . . . . . . . . . 111
17.8 Escape Sequences. . . . . . . . . . . . . . . . . . . . . . . . . . . 111
17.8.1 Raw String . . . . . . . . . . . . . . . . . . . . . . . . . . 112
17.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
18 What Next 113
18.1 Example Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
18.2 Questions and Answers. . . . . . . . . . . . . . . . . . . . . . . . 114
18.3 Tutorials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
18.4 Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
18.5 Discussion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
18.6 News. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
18.7 Installing libraries . . . . . . . . . . . . . . . . . . . . . . . . . . 114
18.8 Graphical Software . . . . . . . . . . . . . . . . . . . . . . . . . . 115
18.8.1 Summary of GUI Tools . . . . . . . . . . . . . . . . . . . 115
18.9 Various Implementations. . . . . . . . . . . . . . . . . . . . . . . 116
18.10Functional Programming (for advanced readers). . . . . . . . . . 116
18.11Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6
19 FLOSS 117
20 Colophon 118
20.1 Birth of the Book. . . . . . . . . . . . . . . . . . . . . . . . . . . 119
20.2 Teenage Years. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
20.3 Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
20.4 About The Author . . . . . . . . . . . . . . . . . . . . . . . . . . 119
21 Revision History 119
22 Translations 122
22.1 Arabic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
22.2 Brazilian Portuguese . . . . . . . . . . . . . . . . . . . . . . . . . 122
22.3 Catalan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
22.4 Chinese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
22.5 Chinese Traditional. . . . . . . . . . . . . . . . . . . . . . . . . . 123
22.6 French . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
22.7 German . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
22.8 Greek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
22.9 Indonesian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
22.10Italian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
22.11Japanese. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
22.12Mongolian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
22.13Norwegian (bokmål) . . . . . . . . . . . . . . . . . . . . . . . . . 126
22.14Polish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
22.15Portuguese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
22.16Romanian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
22.17Russian and Ukranian . . . . . . . . . . . . . . . . . . . . . . . . 128
22.18Slovak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
22.19Spanish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
22.20Swedish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
22.21Turkish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Nenhum comentário:

Postar um comentário

LinkWithin

Related Posts Plugin for WordPress, Blogger...