<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
<link rel=
"STYLESHEET" href=
"whatsnew24.css" type='text/css'
/>
<link rel=
"SHORTCUT ICON" href=
"../icons/pyfav.png" type=
"image/png" />
<link rel='start' href='../index.html' title='Python Documentation Index'
/>
<link rel=
"first" href=
"whatsnew24.html" title='What's New in Python
2.4'
/>
<link rel='contents' href='contents.html'
title=
"Contents" />
<link rel='last' href='about.html' title='About this document...'
/>
<link rel='help' href='about.html' title='About this document...'
/>
<link rel=
"next" href=
"node2.html" />
<link rel=
"prev" href=
"whatsnew24.html" />
<link rel=
"parent" href=
"whatsnew24.html" />
<link rel=
"next" href=
"node2.html" />
<meta name='aesop' content='information'
/>
<div id='top-navigation-panel' xml:id='top-navigation-panel'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"What's New in Python"
href=
"whatsnew24.html"><img src='../icons/previous.png'
border='
0' height='
32' alt='Previous Page' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"parent" title=
"What's New in Python"
href=
"whatsnew24.html"><img src='../icons/up.png'
border='
0' height='
32' alt='Up One Level' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"next" title=
"1 PEP 218: Built-In"
href=
"node2.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">What's New in Python
2.4</td>
<td class='online-navigation'
><img src='../icons/blank.png'
border='
0' height='
32' alt='' width='
32'
/></td>
<td class='online-navigation'
><img src='../icons/blank.png'
border='
0' height='
32' alt='' width='
32'
/></td>
<td class='online-navigation'
><img src='../icons/blank.png'
border='
0' height='
32' alt='' width='
32'
/></td>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"whatsnew24.html">What's New in Python
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"whatsnew24.html">What's New in Python
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"node2.html">1 PEP
218: Built-In
</A>
<!--End of Navigation Panel-->
<BR><h2><A NAME=
"SECTION000100000000000000000">
<LI><A href=
"node2.html">1 PEP
218: Built-In Set Objects
</a>
<LI><A href=
"node3.html">2 PEP
237: Unifying Long Integers and Integers
</a>
<LI><A href=
"node4.html">3 PEP
289: Generator Expressions
</a>
<LI><A href=
"node5.html">4 PEP
292: Simpler String Substitutions
</a>
<LI><A href=
"node6.html">5 PEP
318: Decorators for Functions and Methods
</a>
<LI><A href=
"node7.html">6 PEP
322: Reverse Iteration
</a>
<LI><A href=
"node8.html">7 PEP
324: New subprocess Module
</a>
<LI><A href=
"node9.html">8 PEP
327: Decimal Data Type
</a>
<LI><A href=
"node9.html#SECTION000910000000000000000">8.1 Why is Decimal needed?
</a>
<LI><A href=
"node9.html#SECTION000920000000000000000">8.2 The Decimal type
</a>
<LI><A href=
"node9.html#SECTION000930000000000000000">8.3 The Context type
</a>
<LI><A href=
"node10.html">9 PEP
328: Multi-line Imports
</a>
<LI><A href=
"node11.html">10 PEP
331: Locale-Independent Float/String Conversions
</a>
<LI><A href=
"node12.html">11 Other Language Changes
</a>
<LI><A href=
"node12.html#SECTION0001210000000000000000">11.1 Optimizations
</a>
<LI><A href=
"node13.html">12 New, Improved, and Deprecated Modules
</a>
<LI><A href=
"node13.html#SECTION0001310000000000000000">12.1 cookielib
</a>
<LI><A href=
"node13.html#SECTION0001320000000000000000">12.2 doctest
</a>
<LI><A href=
"node14.html">13 Build and C API Changes
</a>
<LI><A href=
"node14.html#SECTION0001410000000000000000">13.1 Port-Specific Changes
</a>
<LI><A href=
"node15.html">14 Porting to Python
2.4</a>
<LI><A href=
"acks.html">15 Acknowledgements
</a>
<!--End of Table of Contents-->
This article explains the new features in Python
2.4, released in December
Python
2.4 is a medium-sized release. It doesn't introduce as many
changes as the radical Python
2.2, but introduces more features than
the conservative
2.3 release. The most significant new language
features are function decorators and generator expressions; most other
changes are to the standard library.
According to the CVS change logs, there were
481 patches applied and
502 bugs fixed between Python
2.3 and
2.4. Both figures are likely to
This article doesn't attempt to provide a complete specification of
every single new feature, but instead provides a brief introduction to
each feature. For full details, you should refer to the documentation
for Python
2.4, such as the
<em class=
"citetitle"><a
Reference
</a></em> and the
<em class=
"citetitle"><a
Manual
</a></em>. Often you will be referred to the PEP for a particular new
feature for explanations of the implementation and design rationale.
<div class='online-navigation'
>
<table align=
"center" width=
"100%" cellpadding=
"0" cellspacing=
"2">
<td class='online-navigation'
><a rel=
"prev" title=
"What's New in Python"
href=
"whatsnew24.html"><img src='../icons/previous.png'
border='
0' height='
32' alt='Previous Page' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"parent" title=
"What's New in Python"
href=
"whatsnew24.html"><img src='../icons/up.png'
border='
0' height='
32' alt='Up One Level' width='
32'
/></A></td>
<td class='online-navigation'
><a rel=
"next" title=
"1 PEP 218: Built-In"
href=
"node2.html"><img src='../icons/next.png'
border='
0' height='
32' alt='Next Page' width='
32'
/></A></td>
<td align=
"center" width=
"100%">What's New in Python
2.4</td>
<td class='online-navigation'
><img src='../icons/blank.png'
border='
0' height='
32' alt='' width='
32'
/></td>
<td class='online-navigation'
><img src='../icons/blank.png'
border='
0' height='
32' alt='' width='
32'
/></td>
<td class='online-navigation'
><img src='../icons/blank.png'
border='
0' height='
32' alt='' width='
32'
/></td>
<div class='online-navigation'
>
<b class=
"navlabel">Previous:
</b>
<a class=
"sectref" rel=
"prev" href=
"whatsnew24.html">What's New in Python
</A>
<b class=
"navlabel">Up:
</b>
<a class=
"sectref" rel=
"parent" href=
"whatsnew24.html">What's New in Python
</A>
<b class=
"navlabel">Next:
</b>
<a class=
"sectref" rel=
"next" href=
"node2.html">1 PEP
218: Built-In
</A>
<span class=
"release-info">Release
1.01.
</span>
<!--End of Navigation Panel-->
See
<i><a href=
"about.html">About this document...
</a></i> for information on suggesting changes.