创新互联Python教程:Pythonisinstance()

如果函数的第一个参数是第二个参数的实例或子类,则isinstance()函数返回 true。实际上,我们可以说这个函数用于检查给定的对象是给定类的实例还是子类。

在本溪等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站制作 网站设计制作按需网站策划,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,外贸网站制作,本溪网站建设费用合理。

 **isinstance(object, classinfo) ** # Where object specify name of the object

isinstance()参数:

接受 2 个参数,其中第一个参数是 string、int、float、long 或自定义类型的对象。

参数 描述 必需/可选
目标要检查的对象。需要
分类(classify)类名或类名元组。需要

isinstance()返回值

它返回真或假的布尔值。

| 投入 | 返回值 | | 对象是一个实例 | 真实的 | | 对象不是实例 | 错误的 | | classinfo 不是类型或类型元组 | TypeError exception |

Python 中isinstance()方法的示例

示例isinstance()是如何工作的?

 class Foo:
  a = 5

fooInstance = Foo()

print(isinstance(fooInstance, Foo))
print(isinstance(fooInstance, (list, tuple)))
print(isinstance(fooInstance, (list, tuple, Foo))) 

输出:

True
False
True 

示例 2:使用本机类型处理isinstance()

 numbers = [1, 2, 3]

result = isinstance(numbers, list)
print(numbers,'instance of list?', result)

result = isinstance(numbers, dict)
print(numbers,'instance of dict?', result)

result = isinstance(numbers, (dict, list))
print(numbers,'instance of dict or list?', result)

number = 5

result = isinstance(number, list)
print(number,'instance of list?', result)

result = isinstance(number, int)
print(number,'instance of int?', result) 

输出:

[1, 2, 3] instance of list? True
[1, 2, 3] instance of dict? False
[1, 2, 3] instance of dict or list? True
5 instance of list? False
5 instance of int? True 

示例isinstance()的工作方式另一个示例?

 # Python `isinstance()` function example  
class Student:  
    id = 101  
    name = "John"  
    def __init__(self, id, name):  
        self.id=id  
        self.name=name  

student = Student(1010,"John")  
lst = [12,34,5,6,767]  
# Calling function   
print(isinstance(student, Student)) # isinstance of Student class  
print(isinstance(lst, Student)) 

输出:

True
False 

网站栏目:创新互联Python教程:Pythonisinstance()
URL标题:http://www.shufengxianlan.com/qtweb/news24/503274.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联