代码之家  ›  专栏  ›  技术社区  ›  OD1995

带isalpha()的Tilde TRUE返回-2而不是FALSE

  •  1
  • OD1995  · 技术社区  · 8 年前

    isalpha() ,我注意到一些奇怪的行为。

    "a".isalpha()
    >>True
    "2".isalpha()
    >> False
    

    ~"a".isalpha()
    >> -2
    ~"2".isalpha()
    >> -1
    

    为什么会发生这种情况?我发现使用 not 而不是 ~

    not "a".isalpha()
    >> False
    not "2".isalpha()
    >> True
    
    1 回复  |  直到 8 年前
        1
  •  5
  •   glibdud    8 年前

    从上的python文档 bitwise operators

    ~ x :返回x的补码-通过将每个1切换为0,将每个0切换为1得到的数字。 这与-x-1相同。

    True == 1 和 False == 0 , ~True == -1 - 1 == -2 和 ~False == -0 - 1 == -1 .

    not 操作人员