类的常用方法

issubclass()检测一个类是否是;另外一个类的子类

class A():
    pass
class B(A):
    pass
print(issubclass(B,A))

结果:True

isinstance()检测是否是类的一个实例

class A():
    pass
class B():
    pass
a=A()
b=isinstance(a,A)
print(b)
b=isinstance(a,B)
print(b)

结果:True
False

反射方法

getattr()获取对象/类中成员的值

class A():
    xiaogou=10
b=getattr(A,"xiaogou")
print(b)

结果:10

hasattr()检测对象/类是否有某个成员,返回值:布尔型

class A():
    xiaogou=10
b=hasattr(A,"xiaogou")
print(b)

结果:True

setattr()设置或者添加对象/类中的成员,返回值:None

class A():
    xiaogou=10
print(A.__dict__)
setattr(A,"zhutou",200)
print(A.__dict__)
a=A()
print(a.__dict__)
setattr(a,"haha",230)
print(a.__dict__)

结果:{}
{‘haha’: 230}

delattr()删除对象/类中的成员,返回值:None

class A():
    xiaogou=10
delattr(A,"xiaogou")

反射自己模块中的属性和函数

import sys
def haha():
    print("heheheh")
zhutou=198
print(sys.modules)#查看所有模块
print(sys.modules['__main__'])
x=getattr(sys.modules['__main__'],"zhutou")#反射当前模块中的zhutou变量
print(x)
x=getattr(sys.modules['__main__'],"haha")#反射当前模块中的函数
x()

结果:198
heheheh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值