How to modify meaning of builtin function "not" to "!"?

G

grbgooglefan

I am creating functions, the return result of which I am using to make
decisions in combined expressions.
In some expressions, I would like to inverse the return result of
function.

E.g. function contains(source,search) will return true if "search"
string is found in source string.
I want to make reverse of this by putting it as:
if ( ! contains(s1,s2) ):
return 1

I found that "!" is not accepted by Python & compile fails with
"invalid syntax".
Corresponding to this Boolean Operator we've "not" in Python.

How can I make "not" as "!"?
 
I

Ivan Voras

grbgooglefan said:
I am creating functions, the return result of which I am using to make
decisions in combined expressions.
In some expressions, I would like to inverse the return result of
function.

E.g. function contains(source,search) will return true if "search"
string is found in source string.
I want to make reverse of this by putting it as:
if ( ! contains(s1,s2) ):
return 1

I found that "!" is not accepted by Python & compile fails with
"invalid syntax".
Corresponding to this Boolean Operator we've "not" in Python.

How can I make "not" as "!"?

"not" is a perfectly valid boolean operator in Python and means just
what "!" means in C. The equivalent binary operator is "~", just like in C.
-1



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIJFeIldnAQVacBcgRAgOqAJ44VoYv275VxN0j32X3TBo/jx/D2ACgyp2w
grnFynwn5ULYufMTmpOj5WU=
=EKDP
-----END PGP SIGNATURE-----
 
C

castironpi

I am creating functions, the return result of which I am using to make
decisions in combined expressions.
In some expressions, I would like to inverse the return result of
function.

E.g. function contains(source,search) will return true if "search"
string is found in source string.
I want to make reverse of this by putting it as:
if ( ! contains(s1,s2) ):
     return 1

I found that "!" is not accepted by Python & compile fails with
"invalid syntax".
Corresponding to this Boolean Operator we've "not" in Python.

How can I make "not" as "!"?

I have found that not 8, not not 8, and ~8 are all valid. Valid8 is
not.

NameError: name 'Valid8' is not defined, where defined is not defined,
and @Valid8 @Valid8 ...

Late-binding logicals are fine. #Valid8
 
B

Bruno Desthuilliers

grbgooglefan a écrit :
I am creating functions, the return result of which I am using to make
decisions in combined expressions.
In some expressions, I would like to inverse the return result of
function.

E.g. function contains(source,search) will return true if "search"
string is found in source string.

Do you really need a function for this ?

if "foo" in "foobar":
print "do you really really need a function for this ?"

I want to make reverse of this by putting it as:
if ( ! contains(s1,s2) ):
return 1

which is a convoluted way to write:

return s2 not in s1

I found that "!" is not accepted by Python & compile fails with
"invalid syntax".
Corresponding to this Boolean Operator we've "not" in Python.

How can I make "not" as "!"?

Err... How to say... The boolean negation operator in Python is "not".
So the only answer I can provide is : "use 'not' instead of '!'". And
while we're at it : drop those useless parens.

HTH
 
R

Reedick, Andrew

-----Original Message-----
From: [email protected] [mailto:python-
[email protected]] On Behalf Of grbgooglefan
Sent: Friday, May 09, 2008 9:41 AM
To: (e-mail address removed)
Subject: How to modify meaning of builtin function "not" to "!"?

I am creating functions, the return result of which I am using to make
decisions in combined expressions.
In some expressions, I would like to inverse the return result of
function.

E.g. function contains(source,search) will return true if "search"
string is found in source string.
I want to make reverse of this by putting it as:
if ( ! contains(s1,s2) ):
return 1

I found that "!" is not accepted by Python & compile fails with
"invalid syntax".
Corresponding to this Boolean Operator we've "not" in Python.

How can I make "not" as "!"?


Serious question: Why would you want to? 'not' is easier to read (and type) than '!'. Mentally, when you see '!' you think 'not'. It's also harder to overlook 'not', especially when compared to '!contains()'. Finally, I imagine that Spanish speaking coders suffer enormous mental anguish when they see a right-side up '!' at the beginning of a sentence.

if ( ! contains(s1,s2) ):
return 1

if ( !contains(s1,s2) ):
return 1

if ( not contains(s1,s2) ):
return 1

if ( ¡contains(s1,s2)):
return 1




*****

The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential, proprietary, and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from all computers. GA625
 
T

Terry Reedy

|I am creating functions, the return result of which I am using to make
| decisions in combined expressions.
| In some expressions, I would like to inverse the return result of
| function.
|
| E.g. function contains(source,search) will return true if "search"
| string is found in source string.
| I want to make reverse of this by putting it as:
| if ( ! contains(s1,s2) ):
| return 1
|
| I found that "!" is not accepted by Python & compile fails with
| "invalid syntax".
| Corresponding to this Boolean Operator we've "not" in Python.
|
| How can I make "not" as "!"?

1. Download, edit, and compile Python source code.
Perhaps substituting '!' for 'not' in the grammar file will suffice.
I do not *think* that this would conflict with '!=' digraph.
2. Realize that code for your custom Python will not work anywhere else if
it does contain '!' with that meaning.
 
L

Lie

I am creating functions, the return result of which I am using to make
decisions in combined expressions.
In some expressions, I would like to inverse the return result of
function.

E.g. function contains(source,search) will return true if "search"
string is found in source string.
I want to make reverse of this by putting it as:
if ( ! contains(s1,s2) ):
     return 1

I found that "!" is not accepted by Python & compile fails with
"invalid syntax".
Corresponding to this Boolean Operator we've "not" in Python.

How can I make "not" as "!"?

Are you trying to make Python a C? Realize that when you work with a
language, you play by that language's rule, not by your rule. This
seems like a troll or something.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top