【问题标题】:Why is this Isinstance function not working?为什么这个 Isinstance 函数不起作用?
【发布时间】:2021-03-03 21:33:00
【问题描述】:

由于某种原因,这不会打印任何内容。


main = 60

x = isinstance(main, int)

if x == ("True"):  
   print("True") 

elif x == ("False"):  
   print("False")

【问题讨论】:

  • x 不是("True")("False") 它是TrueFalse
  • 是的,您正在比较一个布尔值和一个字符串,请注意,如果没有逗号,括号不会在此处创建元组,尽管它们会降低清晰度

标签: python isinstance


【解决方案1】:

isinstance() 函数返回的布尔值不是字符串,而是(您可能猜到的)布尔值。

重写提供的代码:

main = 60
x = isinstance(main, int)
if x is True:
    print("True")
elif x is False:
    print("False")

但是,由于布尔值本身可以是条件,并且isinstance() 返回一个布尔值,我推荐这种方法:

main = 60
if isinstance(main, int):
    print("True")
else:
    print("False")

或者,甚至更简单:

main = 60
print(isinstance(main, int))

【讨论】:

    猜你喜欢
    • 2021-07-25
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2021-10-28
    • 2013-04-04
    • 1970-01-01
    相关资源
    最近更新 更多