python中如何将object类转换为具体类

python中如何将object类转换为具体类,第1张

Python中可以使用isinstance()函数来将object类转换为具体类。isinstance()函数接受两个参数,第一个参数是要检查的对象,第二个参数是要检查的类型。如果要检查的对象是指定类型的实例,则返回True,否则返回False。例如:

# 定义一个object类

class MyObject(object):

pass

# 定义一个int类

class MyInt(int):

pass

# 实例化MyObject

obj = MyObject()

# 检查obj是否是MyObject的实例

print(isinstance(obj, MyObject)) # True

# 检查obj是否是MyInt的实例

print(isinstance(obj, MyInt)) # False

调用这个方法将返回包含obj大多数属性名的列表(会有一些特殊的属性不包含在内)。obj的默认值是当前的模块对象。

hasattr(obj, attr):

这个方法用于检查obj是否有一个名为attr的值的属性,返回一个布尔值。

getattr(obj, attr):

调用这个方法将返回obj中名为attr值的属性的值,例如如果attr为’bar’,则返回obj.bar。

setattr(obj, attr, val):

调用这个方法将给obj的名为attr的值的属性赋值为val。例如如果attr为’bar’,则相当于obj.bar = val。

在Python里,有一句话叫,一切皆对象。而对象的英文单词就是object。

换句话这个object就代表了Python中的一切,开发Python的龟叔已经给object类定义常用的属性和方法供认识使用。

当在Python2中,你定义类的时候,加上object,用内置函数dir(你定义类的名字)查看属性和方法,你定义的类会默认继承object这个基类(父类)的属性和方法。如果不给object参数,dir时就只有你自己定义属性和方法,没有继承object的。

你可以下去动手试试(我是手机端回答的问题,抱歉无法演示截图)

然后,如果你使用的是Python3,当你定义类的时候,给了object参数就继承。不给object参数也会默认继承。不管你是

class A:

还是 class A():

都会自动的被Python识别为:

class A(object)(这也是Python3更人性化的一点)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11579675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存