多态性在Python中如何工作?

多态性在Python中如何工作?,第1张

多态性在Python中如何工作?

is
Python中的运算符检查两个参数是否引用内存中的同一对象;它不像
is
C#中的运算符。

从文档:

运算符是否测试对象标识:并且仅当x和y是同一对象时,x is y才是true。x不是y会产生反真值。

在这种情况下,您要寻找的是

isinstance

如果object参数是classinfo参数或其(直接或间接)子类的实例,则返回true。

>>> class animal(object): pass>>> class dog(animal): pass>>> myDog = dog()>>> isinstance(myDog, dog)True>>> isinstance(myDog, animal)True

但是,惯用的Python指示您(几乎)从不进行类型检查,而是依靠鸭子类型进行多态行为。使用

isinstance
理解继承没有错,但是通常应该在“生产”代码中避免使用继承。



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

原文地址: http://outofmemory.cn/zaji/5630172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存