博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python __repr__ __str__
阅读量:6436 次
发布时间:2019-06-23

本文共 878 字,大约阅读时间需要 2 分钟。

实现一个简单二维向量类

#!/usr/bin/env python# coding=utf-8from math import hypotclass Vector:    def __init__(self, x=0, y=0):        self.x = x        self.y = y
def __repr__(self):        """        内置函数repr, 把一个对象用字符串的形式表达出来以便辨认,这就是'字符串表示形式'.        repr就是通过__repr__这个特殊方法来得到一个对象的字符串表示形式的.        如果没有实现__repr__,会得到
__repr__ 与 __str__的区别, 前者方便我们调试和记录日志, 后者给终端用户看. 如果要二选一, __repr__是更好的选择, 因为如果一个对象没有__str__函数, Python在需要调用是会用__repr__作为替代. """ return 'Vector(%r, %r)' % (self.x, self.y)
def __abs__(self):        return hypot(self.x, self.y)    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, scalar):        return Vector(self.x * scalar, self.y * scalar)
v1 = Vector(1, 4)v2 = Vector(2, 8)print(v1 + v2)

转载地址:http://hahga.baihongyu.com/

你可能感兴趣的文章
IntelliJ IDEA 快捷键
查看>>
qury-easyui DataGrid 整合struts2增删查该入门实例(三)
查看>>
if a point is inside a square with mathematics
查看>>
Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
查看>>
skyline无插件web的数据加载解析
查看>>
硬盘存储双寡头之争 希捷重注中国市场或赢大丰收
查看>>
编译安装PHP
查看>>
css position:static 的使用
查看>>
nfs永久挂载与临时挂载
查看>>
linux查看网络链接状况命令之-netstat
查看>>
我的友情链接
查看>>
UIView的layoutSubviews和drawRect方法何时调用
查看>>
mysql主从同步
查看>>
制作最简化的Linux系统
查看>>
我的友情链接
查看>>
使用List的remove方法需要的注意的问题
查看>>
Ansible的介绍、安装、配置及常用模块介绍
查看>>
编码列表
查看>>
eigrp 配置
查看>>
谈一谈 redis 集群
查看>>