1. Whetting Your Appetite
If you ever wrote a large shell script, you probably know this feeling: you'd love to
add yet another feature, but it's already so slow, and so big, and so complicated; or the
feature involves a system call or other function that is only accessible from C ...Usually
the problem at hand isn't serious enough to warrant rewriting the script in C; perhaps the
problem requires variable-length strings or other data types (like sorted lists of file
names) that are easy in the shell but lots of work to implement in C, or perhaps you're
not sufficiently familiar with C.
Another situation: perhaps you have to work with several C libraries, and the usual C
write/compile/test/re-compile cycle is too slow. You need to develop software more
quickly. Possibly perhaps you've written a program that could use an extension language,
and you don't want to design a language, write and debug an interpreter for it, then tie
it into your application.
In such cases, Python may be just the language for you. Python is simple to use, but it
is a real programming language, offering much more structure and support for large
programs than the shell has. On the other hand, it also offers much more error checking
than C, and, being a very-high-level language, it has high-level data types built
in, such as flexible arrays and dictionaries that would cost you days to implement
efficiently in C. Because of its more general data types Python is applicable to a much
larger problem domain than Awk or even Perl, yet many things are at least as
easy in Python as in those languages.
Python allows you to split up your program in modules that can be reused in other
Python programs. It comes with a large collection of standard modules that you can use as
the basis of your programs -- or as examples to start learning to program in Python. There
are also built-in modules that provide things like file I/O, system calls, sockets, and
even interfaces to graphical user interface toolkits like Tk.
Python is an interpreted language, which can save you considerable time during program
development because no compilation and linking is necessary. The interpreter can be used
interactively, which makes it easy to experiment with features of the language, to write
throw-away programs, or to test functions during bottom-up program development. It is also
a handy desk calculator.
Python allows writing very compact and readable programs. Programs written in Python
are typically much shorter than equivalent C or C++ programs, for several reasons:
- the high-level data types allow you to express complex operations in a single
statement;
- statement grouping is done by indentation instead of beginning and ending brackets;
- no variable or argument declarations are necessary.
Python is extensible: if you know how to program in C it is easy to add a new
built-in function or module to the interpreter, either to perform critical operations at
maximum speed, or to link Python programs to libraries that may only be available in
binary form (such as a vendor-specific graphics library). Once you are really hooked, you
can link the Python interpreter into an application written in C and use it as an
extension or command language for that application.
Benefits of magnetic bracelet
therapy for pain relief. Finding easy to use
metal detector for beginners to experts. By the way, the language is named after the BBC show ``Monty Python's Flying Circus''
and has nothing to do with nasty reptiles. Making references to Monty Python skits in
documentation is not only allowed, it is encouraged!
Now that you are all excited about Python, you'll want to examine it in some more
detail. Since the best way to learn a language is using it, you are invited here to do so.
In the next chapter, the mechanics of using the interpreter are explained. This is
rather mundane information, but essential for trying out the examples shown later.
The rest of the tutorial introduces various features of the Python language and system
through examples, beginning with simple expressions, statements and data types, through
functions and modules, and finally touching upon advanced concepts like exceptions and
user-defined classes.
|