[Python-Dev] other "magic strings" issues
Guido van Rossum
guido at python.org
Fri Nov 7 12:05:12 EST 2003
> http://www.brunningonline.net/simon/blog/archives/000803.html
>
> which mentions another case of "magic strings" that might perhaps be
> (optionally but suggestedly) changed into more-readable attributes (in
> this case, clearly attributes of the 'file' type): mode arguments to 'file'
> calls. Simon Brunning, the author of that blog entry, argues that
>
> myFile = file(filename, 'rb')
>
> (while of course we're going to keep accepting it forever) is not quite as
> readable and maintainable as, e.g.:
>
> myFile = file(filename, file.READ + file.BINARY)
>
> Just curious -- what are everybody's feelings about that idea? I'm
> about +0 on it, myself -- I doubt I'd remember to use it (too much C
> in my past...:-) but I see why others would prefer it.
Doesn't seem the right solution to me. If I were to design an API
for this without reference to the C convention, I'd probably use
keyword arguments.
I outright disagree with Brunning's idea for the struct module. More
verbose isn't always more readable or easier to remember.
> Another separate "attributes of types" issue raised by that same
> blog entry -- and that one does find me +1 -- is: isn't it time to
> make available as attributes of the str type object those few things
> that we still need to 'import string' for? E.g., the maketrans
> function (and maybe we could even give it a better name as long as
> we're making it a str.something?)...
Yes, that would be good. Is there anything besides maketrans() in the
string module worth saving? (IMO letters and digits etc. are not --
you can use s.isletter() etc. for that.)
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-Dev
mailing list