The Compulsory Features List
One way to describe a language is by listing its features. Of course, this will be more meaningful after you’ve seen Python in action; the best I can do now is speak in the abstract. And it’s really how Python’s features work together, that make it what it is. But looking at some of Python’s attributes may help define it; Table 1-1 lists some of the common reasons cited for Python’s appeal.
Table 1-1. Python Language Features
|
Features |
Benefits |
|---|---|
|
No compile or link steps |
Rapid development cycle turnaround |
|
No type declarations |
Simpler, shorter, and more flexible programs |
|
Automatic memory management |
Garbage collection avoids bookkeeping code |
|
High-level datatypes and operations |
Fast development using built-in object types |
|
Object-oriented programming |
Code reuse, C++, Java, and COM integration |
|
Embedding and extending in C |
Optimization, customization, system “glue” |
|
Classes, modules, exceptions |
Modular “programming-in-the-large” support |
|
A simple, clear syntax and design |
Readability, maintainability, ease of learning |
|
Dynamic loading of C modules |
Simplified extensions, smaller binary files |
|
Dynamic reloading of Python modules |
Programs can be modified without stopping |
|
Universal “first-class” object model |
Fewer restrictions and special-case rules |
|
Runtime program construction |
Handles unforeseen needs, end-user coding |
|
Interactive, dynamic nature |
Incremental development and testing |
|
Access to interpreter information |
Metaprogramming, introspective ... |