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