Python 小练习

作者: Python高效编程 | 来源:发表于2019-01-21 22:54 被阅读0次

这一节,我们来实现一个简单的 Vector 类。
Vector 类有两个属性,为 x,y 坐标,即对应向量的横纵坐标。
首先,实现重载 + 号的方法def __add__,及实现两个向量的加法。具体做法是:将加号两边的 Vector 对象的 x, y值相加,得到新的 x, y值并且返回一个新的向量对象。
__sub__方法实现了 Vector 对象的减法,和加法差不多。让向量对象的对应属性相减,并返回新的向量对象。
__ads__方法,使得可以对实例进行 ads操作(即取横纵坐标的模)。
__mul__方法,使得实例可以通过乘法进行伸缩的操作。
__repr____str__方法使得打印对象更加美观。

import math
# Python高效编程

class Vector(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        x = self.x + other.x
        y = self.y + other.y
        return Vector(x, y)

    def __sub__(self, other):
        x = self.x - other.x
        y = self.y - other.y
        return Vector(x, y)

    def __abs__(self):
        return math.sqrt(self.x ** 2 + self.y ** 2)

    def __bool__(self):
        return bool(self.x or self.y)

    def __mul__(self, times):
        return Vector(self.x * times, self.y * times)

    def __repr__(self):
        return 'Vector({}, {})'.format(self.x, self.y)

    __str__ = __repr__


def main():
    v1 = Vector(3, 5)
    v2 = Vector(4, 5)
    v3 = v1 + v2
    v4 = v3 * 2
    v5 = v2 - v1
    print(v3)
    print(v4)
    print(abs(v3))
    print(v5)


if __name__ == '__main__':
    main()

相关文章

  • python小练习

    1、python内置函数接收用户输入字符串,并将其输出。 encoding:utf-8 str1 = raw_in...

  • Python小练习

    主要是自己尝试写的一些比较简单实用的算法,不定时更新,希望大家喜欢 第一题: 数据格式化 就是将一段被插入了其他字...

  • Python小练习

    Python小练习 @[Python] 问题 之前看了一段时间的Python语言,一直没机会使用,现在机会来了,懒...

  • Python 小练习

    这一节,我们来实现一个简单的 Vector 类。Vector 类有两个属性,为 x,y 坐标,即对应向量的横纵坐标...

  • python小练习

    题目要求: 三个学生对象(属性:姓名、年龄、快乐值、学习值、考试成绩),共学习15天,每5天考一次试,根据各科考试...

  • 第二周-实习总结

    周一 休息-元旦假期 周二 继续上周五python的练习,同时python小练习加两个文件。 patch文件 来将...

  • Something For Practice

    Python Python 练习册,每天一个小程序 Github标星57k+,如何用Python实现所有算法! -...

  • 几道Python小程序练习的多种解法,做出来就表示Python入

    下面由小编开始设题解题: python斐波那契数列python学习群.png 关于Python编程练习题和答案,斐...

  • Python之每日一练QQ头像上加数字

    python入门后需要不断的练习才能加深印象,为了提升自己的python编码能力,特地找了一些python小例子进...

  • One Py Per Day

    偶然看到Python 练习册,每天一个小程序,感觉挺适合Python初学者。这个Project有26个小Proje...

网友评论

    本文标题:Python 小练习

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