<i id='vAimn'><tr id='vAimn'><dt id='vAimn'><q id='vAimn'><span id='vAimn'><b id='vAimn'><form id='vAimn'><ins id='vAimn'></ins><ul id='vAimn'></ul><sub id='vAimn'></sub></form><legend id='vAimn'></legend><bdo id='vAimn'><pre id='vAimn'><center id='vAimn'></center></pre></bdo></b><th id='vAimn'></th></span></q></dt></tr></i><div id='vAimn'><tfoot id='vAimn'></tfoot><dl id='vAimn'><fieldset id='vAimn'></fieldset></dl></div>

    • <bdo id='vAimn'></bdo><ul id='vAimn'></ul>
  • <legend id='vAimn'><style id='vAimn'><dir id='vAimn'><q id='vAimn'></q></dir></style></legend>
    <tfoot id='vAimn'></tfoot>
      1. <small id='vAimn'></small><noframes id='vAimn'>

        将布尔值与整数混合时,Mypy 不会抛出错误

        Mypy doesn#39;t throw an error when mixing booleans with integers(将布尔值与整数混合时,Mypy 不会抛出错误)

          <small id='viuTB'></small><noframes id='viuTB'>

        • <tfoot id='viuTB'></tfoot>
            <bdo id='viuTB'></bdo><ul id='viuTB'></ul>
              <tbody id='viuTB'></tbody>

              • <i id='viuTB'><tr id='viuTB'><dt id='viuTB'><q id='viuTB'><span id='viuTB'><b id='viuTB'><form id='viuTB'><ins id='viuTB'></ins><ul id='viuTB'></ul><sub id='viuTB'></sub></form><legend id='viuTB'></legend><bdo id='viuTB'><pre id='viuTB'><center id='viuTB'></center></pre></bdo></b><th id='viuTB'></th></span></q></dt></tr></i><div id='viuTB'><tfoot id='viuTB'></tfoot><dl id='viuTB'><fieldset id='viuTB'></fieldset></dl></div>

                  <legend id='viuTB'><style id='viuTB'><dir id='viuTB'><q id='viuTB'></q></dir></style></legend>
                  本文介绍了将布尔值与整数混合时,Mypy 不会抛出错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试使用 mypy 来检查 Python 3 项目.在下面的示例中,我希望 mypy 将类 MyClass 的构造标记为错误,但事实并非如此.

                  I am trying to use mypy to check a Python 3 project. In the example below, I want mypy to flag the construction of the class MyClass as an error, but it doesn't.

                  class MyClass:
                      def __init__(self, i:int) -> None:
                          pass
                  
                  obj = MyClass(False)
                  

                  谁能解释一下,好吗?IE.解释一下mypy为什么不报错?

                  Can anyone explain this, please? I.e. explain why mypy does not report an error?

                  推荐答案

                  这是因为——不幸的是!— Python 中的布尔值是整数.如,boolint 的子类:

                  It’s because —unfortunately! —booleans in Python are integers. As in, bool is a subclass of int:

                  In [1]: issubclass(bool, int)
                  Out[1]: True
                  

                  因此代码类型检查,并且 False 是一个有效的整数,值为 0.

                  Hence the code typechecks, and False is a valid integer with value 0.

                  这篇关于将布尔值与整数混合时,Mypy 不会抛出错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Initialize Multiple Numpy Arrays (Multiple Assignment) - Like MATLAB deal()(初始化多个 Numpy 数组(多重赋值) - 像 MATLAB deal())
                  How to extend Python class init(如何扩展 Python 类初始化)
                  What#39;s the difference between dict() and {}?(dict() 和 {} 有什么区别?)
                  What is a wrapper_descriptor, and why is Foo.__init__() one in this case?(什么是 wrapper_descriptor,为什么 Foo.__init__() 在这种情况下是其中之一?)
                  Initialize list with same bool value(使用相同的布尔值初始化列表)
                  setattr with kwargs, pythonic or not?(setattr 与 kwargs,pythonic 与否?)

                  <small id='mOKJL'></small><noframes id='mOKJL'>

                  <legend id='mOKJL'><style id='mOKJL'><dir id='mOKJL'><q id='mOKJL'></q></dir></style></legend>

                      <tbody id='mOKJL'></tbody>
                    <i id='mOKJL'><tr id='mOKJL'><dt id='mOKJL'><q id='mOKJL'><span id='mOKJL'><b id='mOKJL'><form id='mOKJL'><ins id='mOKJL'></ins><ul id='mOKJL'></ul><sub id='mOKJL'></sub></form><legend id='mOKJL'></legend><bdo id='mOKJL'><pre id='mOKJL'><center id='mOKJL'></center></pre></bdo></b><th id='mOKJL'></th></span></q></dt></tr></i><div id='mOKJL'><tfoot id='mOKJL'></tfoot><dl id='mOKJL'><fieldset id='mOKJL'></fieldset></dl></div>
                  1. <tfoot id='mOKJL'></tfoot>
                          <bdo id='mOKJL'></bdo><ul id='mOKJL'></ul>