这一节,我们来实现一个简单的 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 = xself.y = ydef __add__(self, other):x = self.x + other.xy = self.y + other.yreturn Vector(x, y)def __sub__(self, other):x = self.x - other.xy = self.y - other.yreturn 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 + v2v4 = v3 * 2v5 = v2 - v1print(v3)print(v4)print(abs(v3))print(v5)if __name__ == '__main__':main()

Python 实现简单 Vector 类相关推荐

  1. python游戏脚本实例-python实现的简单文本类游戏实例

    本文实例讲述了python实现的简单文本类游戏实现方法.分享给大家供大家参考.具体实现方法如下: ################################################### ...

  2. 用来表示python代码块的是什么_三分钟带你用简单的Python代码深入理解Python中的元类...

    互联网的数据爆炸式的增长,而利用 Python 爬虫我们可以获取大量有价值的数据 类也是对象 在理解元类前,需要先掌握Python中的类.在大多数编程语言中,类就是一组描述如何生成对象的代码段.在Py ...

  3. python vector 初始化_一文带你走进Python中的数据类

    全文共2607字,预计学习时长14分钟 图源:unsplash 数据类适用于Python3.7或更高版本,它不仅可以用作数据容器,还可以编写样板代码,简化创建类的过程. 创建第一个数据类 创建一个数据 ...

  4. python文字冒险游戏_python实现的简单文本类游戏实现方法

    本文实例讲述了python实现的简单文本类游戏实现方法.分享给大家供大家参考.具体实现方法如下: ################################################### ...

  5. python文字冒险游戏_python实现的简单文本类游戏实例

    本文实例讲述了python实现的简单文本类游戏实现方法.分享给大家供大家参考.具体实现方法如下: ################################################### ...

  6. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

  7. 高斯核函数python代码_单类SVM:SVDD

    话接上文(SVM的简单推导),这篇文章我们来看单类SVM:SVDD.可能大家会觉得很奇怪,我们为什么需要单分类呢?有篇博客举了一个很有意思的例子. 花果山上的老猴子,一生阅猴无数,但是从来没有见过其它 ...

  8. Python的简单介绍(二)

    接Python的简单介绍(一): 九.条件语句 if 判断条件: 执行语句-- else: 执行语句-- if 判断条件1: 执行语句1-- elif 判断条件2: 执行语句2-- elif 判断条件 ...

  9. 【stanford C++】容器III——Vector类

    主要介绍如下5个容器类--Vector, Stack,Queue,Map和Set,各个都表示一重要的抽象数据类型.另外,各个类都是一些简单类型的值的集合,所以称它们为容器类. 暂且我们先不需要知道它们 ...

最新文章

  1. NASA艾姆斯研究中心将跟Uber团队展开合作
  2. 正确理解Spring AOP中的Around advice
  3. C#设置WebBrowser IE浏览器版本
  4. dateformat java 格式_java Date日期类和SimpleDateFormat日期类格式
  5. Sightseeing Cows POJ - 3621
  6. stm32 web get 参数_纯进口mpv销量排行榜 迈巴赫vs680商务车参数
  7. 如何单独编译Linux源代码中的驱动模块,比如NVMe驱动?
  8. AD14使用过程记录!
  9. 微信小程序设置页面背景颜色
  10. PHP编程 967 个函式 值得收藏
  11. 学习Java软件编程哪个机构好
  12. bzoj3694:最短路(最短路树+并查集)
  13. EasyRecovery五个步骤搞定数据恢复
  14. 【Java编程】调用方法判断一个数是否是素数
  15. 没有激光雷达设备,只有无人机也可以生成真地形(DEM)和等高线(CAD)
  16. 计算机教师面试万能稿,教资面试——信息技术试讲逐字稿
  17. 一篇带你搞懂 java 集合
  18. 手把手带你清理电脑版微信冗余资源
  19. LSTM-CNN-Attention算法系列之一:LSTM提取时间特征
  20. 构造/析构/赋值运算--龙之介《Effective C++》实验室

热门文章

  1. 机器学习之K-means原理详解、公式推导、简单实例(python实现,sklearn调包)
  2. 【漏洞扫描】巡风系统Windows下面部署
  3. 女程序员、女设计师、女运营……原来女生也能活成这样!
  4. spdlog 封装为 DLL
  5. arcgis安装(linux)
  6. [ArcGIS常见错误集:1]ArcGIS 安装遇到error 1406
  7. PAT (Basic Level) 刷题-1002:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字
  8. windows server2012安全测评整改操作系统配置
  9. upload -labs通关解析及上传类型总结和思考
  10. python scrapy 简单教程_Scrapy的简单使用教程