美文网首页我爱编程
模拟数值类型

模拟数值类型

作者: 凹凸曼_ebb9 | 来源:发表于2018-04-12 22:37 被阅读0次

    一个简单的二维向量类

    上述实例包含了一个Vector类的实现,其包含了__repr__, __abs__, __add__, 以及__mul__四个特殊方法,下面介绍一下特殊方法:

    如何使用特殊方法

    特殊方法的存在是为了被Python解释器调用的,你自己并不需要调用它们,也就是说没有my_object.__len__()这种写法,而应该使用len(my_object)。在执行len(my_object)的时候,如果my_object是一个自定义类的对象,那么Python会自己去调用其中由你实现的__len__方法。

    在上述实例中,我们在__repr__的实现中,用到了%r来获取对象各个属性的标准字符串表示形式,这是个好习惯,它暗示了一个关键:Vector(1,2)和Vector('1','2')是不一样的,因为向量对象的构造函数只接受数值,不接受字符串。

    相关文章

      网友评论

        本文标题:模拟数值类型

        本文链接:https://www.haomeiwen.com/subject/nkasfftx.html