isinstance(1, type) 为什么会输出false呢

isinstance的本质

isinstance() 函数是Python中用来检查一个对象是否是一个类的实例的内置函数。

它接受两个参数:第一个参数是要检查的对象,第二个参数是类(或类的一个元组,表示任意一个类)。

type的本质

在Python中,type 是一个内建的元类,用于创建类。

所有的Python类(包括用户定义的类和内建的类)都是 type 的实例,因为它们都是由 type 这个元类创建的。

isinstance(1, type) 的执行逻辑

当你执行 isinstance(1, type) 这行代码时,你正在检查整数 1 是否是 type 类的一个实例。
然而,具体的对象1不是由 type 创建的,而是由int类创建的,即1 是 int 类的实例,而不是 type的实例。所以输出False;

证明案例:

# 检查 int 类是否是由 type 创建的(即 int 类是否是 type 的实例)
print(isinstance(int, type))  # 输出:True

# 检查自定义的 MyClass 类是否是由 type 创建的
class MyClass:
    pass

print(isinstance(MyClass, type))  # 输出:True
print(isinstance(MyClass(), type))  # 输出:False

相关推荐

  1. isinstance(1, type) 为什么输出false

    2024-01-30 20:20:01       51 阅读
  2. 为什么选择学习Go

    2024-01-30 20:20:01       60 阅读
  3. Python中,type() 和 isinstance() 的区别

    2024-01-30 20:20:01       44 阅读
  4. IP为什么要分类

    2024-01-30 20:20:01       44 阅读
  5. 为什么有虚像

    2024-01-30 20:20:01       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-30 20:20:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-30 20:20:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-30 20:20:01       87 阅读
  4. Python语言-面向对象

    2024-01-30 20:20:01       96 阅读

热门阅读

  1. 面试经典150题(96-100)

    2024-01-30 20:20:01       63 阅读
  2. 蓝桥杯 算法提高 字符串匹配(C++)暴力破解+KMP

    2024-01-30 20:20:01       64 阅读
  3. 【Vue】Vue3.0样式隔离

    2024-01-30 20:20:01       70 阅读
  4. STM32串口IAP

    2024-01-30 20:20:01       59 阅读
  5. 利用qrcode.vue库生成二维码

    2024-01-30 20:20:01       56 阅读
  6. 浅谈MySQL3种日志

    2024-01-30 20:20:01       50 阅读