【问题标题】:Type int in python: how to check type [duplicate]在python中输入int:如何检查类型[重复]
【发布时间】:2020-08-04 19:38:45
【问题描述】:

我使用代码:

def foo(x): 打印(类型(x)) 如果 x 不是整数: 提高(类型错误) #做smth

富(100)

日志为 ,但引发了 TypeError。为什么?

【问题讨论】:

    标签: python types typeerror raiserror


    【解决方案1】:

    如果 type(x) 不是 int,则需要使用:

    def foo(x):
        print(type(x))
        if type(x) is not int:
            raise(TypeError)
    

    【讨论】:

      【解决方案2】:

      所以如果我没看错的话应该是:

      def foo(x): if type(x) is not int: raise(TypeError) foo(100)

      我真的不确定你对日志的意思,但也许这会有所帮助

      【讨论】:

        【解决方案3】:

        最好使用isinstance() 而不是type() ==。前者适用于子类。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-05-08
          • 1970-01-01
          • 2021-06-28
          • 1970-01-01
          • 1970-01-01
          • 2018-02-05
          • 1970-01-01
          • 2011-07-17
          相关资源
          最近更新 更多