编程语言
首页 > 编程语言> > python中有type()的Magic方法吗?

python中有type()的Magic方法吗?

作者:互联网

我想知道Python中是否有支持type()内置函数的魔术方法,它允许您设置要返回的自定义值.

解决方法:

不,没有这样的方法.实例的类型不是您在查询时可以动态更改的类型,因为这将是特定于类型的行为,但您突然无法确定定义该行为的类型!

您可以为实例.__ class__指定一个不同的类,但随后您将实质性地更改该实例的行为,并且当type()应用于实例时,实例本身不会更改类型.

而不是使用type(),而是使用isinstance()和issubclass()函数,并使用抽象基类型;然后,类型对象负责将特定类或实例分别声明为给定类型的子类或实例.他们可以通过__issubclass__ and __isinstance__ hooks做到这一点.

标签:python,magic-methods
来源: https://codeday.me/bug/20190824/1709603.html