python 不是带括号的运算符
python not operator with parenthesis
我有一个简单的逻辑 if 语句返回无效的语法错误。语句为:
if (a[1] != None and a[2] != None and !(a[3] == None and a[4] == None)):
第三个语法无效!操作员。为什么这不起作用?在这种情况下我应该使用另一个运算符吗?
所以逻辑本质上是:a[1] ^ a[2] ^ (a[3] v a[4])
(其中这些表示具有值)。因此,没有 None
值的反向逻辑是:
!a[1] ^ !a[2] ^ !(a[3] ^ a[4])
我很确定我的逻辑数学是正确的,那么如何获得我需要的结果呢?
*背景信息:Python 2.7.10,整体代码从 SQL Server 2008 table 中提取数据,对其进行操作,然后将其插入到不同的 table 不允许 NULL 值,原始 table 散落着 NULL
感谢您的帮助!
python 中的逻辑非运算符不是 !
,而是 not
。
你想要:
if (a[1] != None and a[2] != None and not (a[3] == None and a[4] == None)):
嗯,从文体上来说,当使用 None
时,最好使用 is
和 is not
而不是 ==
和 !=
,所以
if (a[1] is not None and a[2] is not None) and not (a[3] is None and a[4] is None):
我有一个简单的逻辑 if 语句返回无效的语法错误。语句为:
if (a[1] != None and a[2] != None and !(a[3] == None and a[4] == None)):
第三个语法无效!操作员。为什么这不起作用?在这种情况下我应该使用另一个运算符吗?
所以逻辑本质上是:a[1] ^ a[2] ^ (a[3] v a[4])
(其中这些表示具有值)。因此,没有 None
值的反向逻辑是:
!a[1] ^ !a[2] ^ !(a[3] ^ a[4])
我很确定我的逻辑数学是正确的,那么如何获得我需要的结果呢?
*背景信息:Python 2.7.10,整体代码从 SQL Server 2008 table 中提取数据,对其进行操作,然后将其插入到不同的 table 不允许 NULL 值,原始 table 散落着 NULL
感谢您的帮助!
python 中的逻辑非运算符不是 !
,而是 not
。
你想要:
if (a[1] != None and a[2] != None and not (a[3] == None and a[4] == None)):
嗯,从文体上来说,当使用 None
时,最好使用 is
和 is not
而不是 ==
和 !=
,所以
if (a[1] is not None and a[2] is not None) and not (a[3] is None and a[4] is None):