Python中文
首页
教程
问答
标签
搜索
登录
注册
__在实例方法的返回值上调用str\方法
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在开发一个模块来画线并找到它们的中点。出于测试的目的,我想从相关类中创建一些字符串输出。你知道吗</p> <pre><code>class Line: def __init__(self, endpoints): self.start = endpoints[0] self.end = endpoints[1] def midpoint(): x = (start.getX + end.getX) / 2.0 y = (start.getY + end.getY) / 2.0 return Point(x, y) def __str__(self): return "line from " + `self.start` + " to " + `self.end` + "." class Point: def __init__(self, x, y): self.x = x self.y = y def getX(): return x def getY(): return y def __str__(self): return "[" + str(self.x) + ", " + str(self.y) + "]" __repr__ = __str__ point1 = Point(4,5) point2 = Point(0,0) line1 = Line([point1, point2]) print line1 print line1.midpoint </code></pre> <p>预期产量:</p> <pre><code>line from [4, 5] to [0, 0] [2.0, 2.5] </code></pre> <p>相反,我得到:</p> <pre><code>line from [4, 5] to [0, 0] <bound method Line.midpoint of <__main__.Line instance of 0x105064e18>> </code></pre> <p>如何获得作为Point类实例返回的中点的预期字符串表示形式?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>打印的是方法本身,而不是方法的返回值。将最后一行改为:</p> <pre><code>print line1.midpoint() </code></pre> <p>此外,方法的第一个定义行应使用self作为唯一参数,如下所示:</p> <pre><code>def midpoint(self): </code></pre> <p>这同样适用于其余的方法,它们应该使用self作为参数(点.getX以及点.getY). 你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Python中两个字典的交集
10 回答
python中两个字符串上的异或操作数?
10 回答
Python中两个字符串中的类似句子
7 回答
Python中两个字符串之间的Hamming距离
5 回答
python中两个字符串之间的匹配模式
9 回答
python中两个字符串之间的按位或
4 回答
python中两个字符串之间的数据(字节)切片
1 回答
python中两个字符串之间的模式
6 回答
python中两个字符串作为子字符串的区别
1 回答
Python中两个字符串元组的比较
8 回答
Python中两个字符串列表中的公共字符串
10 回答
python中两个字符串的Anagram测试
3 回答
Python中两个字符串的正则匹配
2 回答
python中两个字符串的笛卡尔乘积
7 回答
Python中两个字符串相似性的比较
5 回答
python中两个字符串语义相似度的求法
4 回答
Python中两个字符置换成固定长度的字符串,每个字符的数目相等
2 回答
Python中两个对数方程之间的插值和平滑数据
7 回答
Python中两个对象之间的And/Or运算符
4 回答
python中两个嵌套字典中相似键的和值
10 回答