iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的type与isinstance的区别详解
  • 703
分享到

Python中的type与isinstance的区别详解

Pythontypeisinstance 2023-05-16 14:05:27 703人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录type()函数isinstance()函数python中的type()函数和isinstance()函数是两个常用的类型判断函数,它们可以用来判断变量的类型,接下来让我们一起来

python中的type()函数和isinstance()函数是两个常用的类型判断函数,它们可以用来判断变量的类型,接下来让我们一起来看一下它们的用法。

type()函数

type()函数用于获取一个变量的类型,它的语法是:type(变量)。

调之后会返回变变量的类型,下面是一个简单的例子:

1、获取变量的类型

a = 123
b = "123"
c = (123,)
 
print(type(a))  # 输出<class 'int'>
print(type(b))  # 输出<class 'str'>
print(type(c))  # 输出<class 'tuple'>
print(type(None))   # 输出<class 'NoneType'>

2、获取函数、类、模块等的类型

import time
 
def test():
    print(time.time())
 
test()
print(type(test))  # 输出 <class 'function'>
print(type(object))  # 输出<class 'type'>
print(type(time))  # 输出<class 'module'>

3、使用type函数动态创建类

type()函数接收三个参数:

  • 类名(字符串
  • 父类(元组)
  • 类属性和方法(字典)

使用案例:

# 定义一个函数作为类方法
def say_hi(self):
    print(f"大家好,我的公众号是: {self.name},欢迎大家关注哟~")
 
MyClass = type('MyClass', (object,), {"name": "小博测试成长之路",
                                      "age": 18, "say": say_hi})

MyClass().say()

上面脚本运行后的输出结果:

024669b53543a5340de1646fa1cafafd.png

关于使用type来动态创建类的话,之前我也没接触过这种用法,等后面有时间接触的多了之后,还会再去回过头仔细地了解一下具体的用法和使用场景,这次先简单介绍一下。

isinstance()函数

isinstance()函数一般用来检查一个对象是否是另一个对象的实例。isinstance()函数会考虑继承关系,如果一个对象是指定类或其子类的实例,isinstance()函数都会返回True。同时,可以使用isinstance进行多种类型的判断,只需要将要判断的类型以元组的形式传递给isinstance()函数即可。

x = 5
y = "5"
print(isinstance(x, object))  # 输出 True
print(isinstance(x, int))  # 输出 True
多种类型的判断:
print(isinstance(y, (int, str)))  # 输出 True
继承关系的判断:
class A:
    pass
 
class B(A):
    pass
 
obj = B()
print(isinstance(obj, A))  # 输出 True

综上所述,type()函数和isinstance()函数都可以用来检查对象的类型,但它们的用途和适用场景有所不同。在处理继承关系时,isinstance()函数更加灵活和实用。

到此这篇关于Python中的type与isinstance的区别详解的文章就介绍到这了,更多相关Python type与isinstance内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中的type与isinstance的区别详解

本文链接: https://www.lsjlt.com/news/210091.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中的type与isinstance的区别详解
    目录type()函数isinstance()函数Python中的type()函数和isinstance()函数是两个常用的类型判断函数,它们可以用来判断变量的类型,接下来让我们一起来...
    99+
    2023-05-16
    Python type isinstance
  • 详解TypeScript中type与interface的区别
    目录类型别名 type接口 interfaceinterface和type的相似之处都可以描述 Object和FunctionTypeInterface二者都可以被继承interfa...
    99+
    2024-04-02
  • TypeScript中import type与import的区别详析
    目录背景import type vs import使用 import type 的好处参考链接总结背景 这周遇到了一个比较奇怪的问题:如何在 TypeScript 中根据某个 enu...
    99+
    2024-04-02
  • 详解Python中range()与xrange()的区别
    目录前言返回类型记忆操作使用Speed前言 range() 和 xrange() 是两个函数,可用于在 Python的 for 循环中迭代一定次数。在 Python 3 中,没有 x...
    99+
    2024-04-02
  • 一文带你了解Python中的type,isinstance和issubclass
    目录type示例isinstance示例issubclass示例综合示例isinstance针对类issubclass总结type type方法有两种重载形式: type(o: ob...
    99+
    2023-01-29
    Python type isinstance issubclass使用 Python type isinstance issubclass Python type Python isinstance
  • Python中is与==的使用区别详解
    目录一、== 是比较两个对象的内容是否相等二、is 比较的是两个实例对象是不是完全相同三、使用is注意python对于小整数使用对象池存储问题四、使用is注意python关于字符串的...
    99+
    2024-04-02
  • Python之is与==的区别详解
    Python有两个用于相等比较的运算符,“is”和“==”(等于)。在这篇文章中,我将教你们两者之间的区别,以及通过几个简单地例子说明什么时候使用它们。 当我还是一个孩子的时候,我们...
    99+
    2024-04-02
  • python基础之//、/与%的区别详解
    目录示例代码如下:附:一分钟看懂Python中的 // 和 / 和 % 的用法区别总结“ // ” 表示整数除法,返回整数 比如 7/3 结果为2 &ldqu...
    99+
    2024-04-02
  • 详解Python中sorted()和sort()的使用与区别
    目录sort()方法是什么如何妙用sorted() 方法总结在 Python 中,你可以使用 sorted() 方法或 sort() 方法对数据进行排序。 在本文中,我将提供 sor...
    99+
    2024-04-02
  • Python中bytes和str的区别与联系详解
    目录Bytes和Str的区别Bytes与Str间的转换读写文件的注意事项总结Bytes和Str的区别 在Python3中,字符序列有两种类型:bytes和str。bytes类型是无符...
    99+
    2024-04-02
  • Python 列表与链表的区别详解
    目录python 列表和链表的区别列表的实现机制链表链表与列表的差异python 列表和链表的区别 python 中的 list 并不是我们传统意义上的列表,传统列表——通常也叫作链...
    99+
    2024-04-02
  • python中/与//的区别
    python中“/”表示为浮点数的除法,其返回结果为浮点数;而“//”表示的是整数除法,其返回结果为整数。实例:print("6 // 4 = " + str(6 // 4))print("6 / 4 =" + str(6 / 4))输出结...
    99+
    2024-04-02
  • 详解Python中type与object的恩怨纠葛
    在学习 Python 的时候,你肯定听过这么一句话:Python 中一切皆对象。没错,在 Python 世界里,一切都是对象。整数是一个对象、字符串是一个对象、字典是一个对象,甚至 ...
    99+
    2023-05-15
    Python type object Python Python object
  • Numpy中np.dot与np.matmul的区别详解
    目录作用相同的情况作用不同的情况作用相同的情况 在若两个array的维度均为两维的情况下,两个函数的结果是相同的,例如: a = np.array([i for i in range...
    99+
    2023-02-15
    Numpy np.dot与np.matmul Numpy np.dot Numpy np.matmul
  • 详解Mysql中tinyint与int的区别
    问题:int(1) 和 tinyint(1) 有什么区别呢? 像这样的设计,反正我是不会写int(1)的。 查了下,mysql中设置了储存类型后,储存是定长的,也就是说,int(1)...
    99+
    2024-04-02
  • C#中struct与class的区别详解
    目录1.最大的区别2.struct成员无法被声明为protected。3.struct是隐式的sealed类4.struct中无法重载默认构造函数5.关于对象的初始化6.结构体没有析...
    99+
    2024-04-02
  • Vue中$router与 $route的区别详解
    目录前言路由跳转分为编程式和声明式前言 点击视频讲解更加详细 this.$route:当前激活的路由的信息对象。每个对象都是局部的,可以获取当前路由的 path, name...
    99+
    2024-04-02
  • Python中的 // 与 / 的区别
    通常C/C++中,"/ " 算术运算符的计算结果是根据参与运算的两边的数据决定的,比如:  6 / 3 = 2 ; 6,3都是整数,那么结果也就是整数2;  6.0 / 3.0 = 2.0 ; 6.0,3.0是浮点数,那么结果也是浮点数2...
    99+
    2023-01-31
    区别 Python
  • Kotlin与Java的区别详解
    什么是Kotlin? Kotlin是一种可以在 Java 虚拟机 (JVM) 上运行的开源编程语言。该语言可以在许多平台上运行。 它是一种将面向对象编程 (OOP) 和函数式编程结合...
    99+
    2024-04-02
  • Logger.getLogger()与LogFactory.getLog()的区别详解
    Logger来自log4j自己的包。如果用Logger.getLogger,需要一个log4j的jar包,用此方式你只能依log4j: LogFactory来自common-log...
    99+
    2022-11-15
    Logger.getLogger LogFactory.getLog
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作