A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2002-May/024625.html below:

[Python-Dev] String module

[Python-Dev] String moduleRaymond Hettinger python@rcn.com
Wed, 29 May 2002 18:51:02 -0400
From: "Alex Martelli" <aleax@aleax.it>

> > strings.  That way, we can get O(1) behavior instead of O(n) behavior
for
> > code like:  if c in str.printable:  c='*'.   If someone needs to know
the
> > contents, they can run str.printable.keys().  Also, because the
dictionary
> > is mutable, someone can (at runtime) expand or contract the definitions:
> > str.whitespace.append('_').
>
> append would of course not work on a dictionary, but the prospect of
> allowing easy mutation of fundamental built-ins is quite negative in
Python --
> goes against the grain of the language.  A read-only dictionary might be
OK.

I like the read-only dictionary better than the boolean test methods.  It
minimizes the effort in upgrading existing code of the form:

for c in string.lowercase:
    do something
if c in string.lowercase:
    do something

I can global search/replace string.lowercase with str.lower in dictionary
form and everything will run fine (and faster too).

Also, I like the mapping because provides a way to see the membership.  With
the string form or the mapping form, it's easy to find-out exactly what is
defined as whitespace.  If there is a C coded boolean test, I have to filter
the whole alphabet or look it up in the docs.

If we can get some agreement that this is the way to go, I can work with the
OP on a revised patch so we get the string module silently deprecated.


Raymond Hettinger









RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4