zoukankan      html  css  js  c++  java
  • python之利用魔术方法实现自己定义的二维向量

    from math import hypot
    class Vector:
        def __init__(self,x,y):
            self.x = x
            self.y = y
        #将一个对象以字符串的形式表示,对比java的tostring方法
        def __repr__(self):
            return "Vector(%r,%r)" % (self.x,self.y)
        #用于计算向量的模
        def __abs__(self):
            return hypot(self.x,self.y)
        #用于判断向量是否为0向量
        def __bool__(self):
            return bool(abs(self))
        #向量之间的相加
        def __add__(self, other):
            x = self.x + other.x
            y = self.y + other.y
            return Vector(x,y)
        #向量的标量乘法
        def __mul__(self, other):
            return Vector(self.x * other, self.y * other)
    
    v1 = Vector(1,2)
    v2 = Vector(3,4)
    print(abs(v1))
    print(v1+v2)
    print(v1*3)
    v3 = Vector(0,0)
    print(bool(v3))

    输出:

  • 相关阅读:
    Swift
    Swift
    Swift
    Swift
    iOS
    九、原始套接字
    八、Linux下的网络服务器模型
    七、TCP/IP协议
    六、高级套接字函数
    五、用户数据报传输(UDP)
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12173932.html
Copyright © 2011-2022 走看看