微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 ~

如何解决使用 ~

抱歉在这里过度解释。

我想看看一个字符串是否有任何数字。所以我为此写了简单的代码,就是:

any(char.isdigit() for char in s)

如果字符串中的任何字符是数字,则结果为 True,如果其中 False 是数字,则结果为 None

现在假设我想要 False 而不是 True 作为输出。这意味着我想要否定任何结果。所以我终于发现我所需要的只是将 not 放在语句前面,这样就解决了我遇到的问题。

但在我发现这个之前,我最终得到了一些其他意想不到的结果。如:

使用 ~ 运算符:

  • ~(any(char.isdigit() for char in s)) 结果为 -1,预期为 bool
  • 所以我尝试了 ~True 看看它是否正常工作,结果 -2False(bool) 预期
  • 然后我尝试了 ~False,结果为 -1True(bool) 预期

不仅如此,我还记得 bool 值前面的 ! 也有效,但我得到的是:

!(any(char.isdigit() for char in s)) 导致错误 - "for was unexpected at this time."

我第一次在 Python 中看到这种类型的错误

有人知道这些 -1 和 -2 值的实际含义吗?这可能是我对 Python 基本概念的无知。如果它已经在 StackOverflow 中得到了回答,有人可以向我指出吗?在这种情况下,我会删除该问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。