Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #53134

Rép : Why is str(None) == 'None' and not an empty string?

Subject Rép : Why is str(None) == 'None' and not an empty string?
From Fabrice POMBET <fp2161@gmail.com>
Date 2013-08-28 13:42 +0200
References <mailman.2220.1377689401.19983.python-list@python.org>
Newsgroups comp.lang.python
Message-ID <mailman.304.1377690272.19984.python-list@python.org> (permalink)

Show all headers | View raw


On 8/28/2013 4:57 AM, Piotr Dobrogost wrote:

> Having repr(None) == 'None' is sure the right thing but why does str(None) == 'None'? Wouldn't it be more correct if it was an empty string?

the point of str(obj) is to return a string containing the obj (a sequence of characters if it is unbound or not built-in, etc.)...

If you set the rule str(None)=="", then you will cause plenty of problems. 

For instance, if you want to build a string like request="SELECT X"+"IN Y"+"WHERE B="+String(B)
to prepare a sequel request, and the field B happens to be sometimes "None", you would automatically end up with """SELECT X IN Y WHERE B=''""" instead of """SELECT X IN Y WHERE B='None'""",
and your sql request will fall into limbos...

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Rép : Why is str(None) == 'None' and not an empty string? Fabrice POMBET <fp2161@gmail.com> - 2013-08-28 13:42 +0200

csiph-web