python中有type()的Magic方法吗?
作者:互联网
我想知道Python中是否有支持type()内置函数的魔术方法,它允许您设置要返回的自定义值.
解决方法:
不,没有这样的方法.实例的类型不是您在查询时可以动态更改的类型,因为这将是特定于类型的行为,但您突然无法确定定义该行为的类型!
您可以为实例.__ class__指定一个不同的类,但随后您将实质性地更改该实例的行为,并且当type()应用于实例时,实例本身不会更改类型.
而不是使用type(),而是使用isinstance()和issubclass()函数,并使用抽象基类型;然后,类型对象负责将特定类或实例分别声明为给定类型的子类或实例.他们可以通过__issubclass__
and __isinstance__
hooks做到这一点.
标签:python,magic-methods 来源: https://codeday.me/bug/20190824/1709603.html