1. Whetting Your Appetite¶
38 |If you do much work on computers, eventually you find that there’s some task 39 | you’d like to automate. For example, you may wish to perform a 40 | search-and-replace over a large number of text files, or rename and rearrange a 41 | bunch of photo files in a complicated way. Perhaps you’d like to write a small 42 | custom database, or a specialized GUI application, or a simple game.
43 |If you’re a professional software developer, you may have to work with several 44 | C/C++/Java libraries but find the usual write/compile/test/re-compile cycle is 45 | too slow. Perhaps you’re writing a test suite for such a library and find 46 | writing the testing code a tedious task. Or maybe you’ve written a program that 47 | could use an extension language, and you don’t want to design and implement a 48 | whole new language for your application.
49 |Python is just the language for you.
50 |You could write a Unix shell script or Windows batch files for some of these 51 | tasks, but shell scripts are best at moving around files and changing text data, 52 | not well-suited for GUI applications or games. You could write a C/C++/Java 53 | program, but it can take a lot of development time to get even a first-draft 54 | program. Python is simpler to use, available on Windows, Mac OS X, and Unix 55 | operating systems, and will help you get the job done more quickly.
56 |Python is simple to use, but it is a real programming language, offering much 57 | more structure and support for large programs than shell scripts or batch files 58 | can offer. On the other hand, Python also offers much more error checking than 59 | C, and, being a very-high-level language, it has high-level data types built 60 | in, such as flexible arrays and dictionaries. Because of its more general data 61 | types Python is applicable to a much larger problem domain than Awk or even 62 | Perl, yet many things are at least as easy in Python as in those languages.
63 |Python allows you to split your program into modules that can be reused in other 64 | Python programs. It comes with a large collection of standard modules that you 65 | can use as the basis of your programs — or as examples to start learning to 66 | program in Python. Some of these modules provide things like file I/O, system 67 | calls, sockets, and even interfaces to graphical user interface toolkits like 68 | Tk.
69 |Python is an interpreted language, which can save you considerable time during 70 | program development because no compilation and linking is necessary. The 71 | interpreter can be used interactively, which makes it easy to experiment with 72 | features of the language, to write throw-away programs, or to test functions 73 | during bottom-up program development. It is also a handy desk calculator.
74 |Python enables programs to be written compactly and readably. Programs written 75 | in Python are typically much shorter than equivalent C, C++, or Java programs, 76 | for several reasons:
77 |-
78 |
- the high-level data types allow you to express complex operations in a single 79 | statement; 80 |
- statement grouping is done by indentation instead of beginning and ending 81 | brackets; 82 |
- no variable or argument declarations are necessary. 83 |
Python is extensible: if you know how to program in C it is easy to add a new 85 | built-in function or module to the interpreter, either to perform critical 86 | operations at maximum speed, or to link Python programs to libraries that may 87 | only be available in binary form (such as a vendor-specific graphics library). 88 | Once you are really hooked, you can link the Python interpreter into an 89 | application written in C and use it as an extension or command language for that 90 | application.
91 |By the way, the language is named after the BBC show “Monty Python’s Flying 92 | Circus” and has nothing to do with reptiles. Making references to Monty 93 | Python skits in documentation is not only allowed, it is encouraged!
94 |Now that you are all excited about Python, you’ll want to examine it in some 95 | more detail. Since the best way to learn a language is to use it, the tutorial 96 | invites you to play with the Python interpreter as you read.
97 |In the next chapter, the mechanics of using the interpreter are explained. This 98 | is rather mundane information, but essential for trying out the examples shown 99 | later.
100 |The rest of the tutorial introduces various features of the Python language and 101 | system through examples, beginning with simple expressions, statements and data 102 | types, through functions and modules, and finally touching upon advanced 103 | concepts like exceptions and user-defined classes.
104 |