You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在PyCharm控制台调用str()获Point对象而非坐标字符串的问题求助

问题:调用str(Point对象)返回默认对象描述而非坐标字符串

你遇到的问题核心在于geom2d.point.Point类没有实现__str__或__repr__特殊方法。Python中,如果类没有自定义这两个方法,调用str()时会返回默认的对象身份描述(就是你看到的<geom2d.point.Point object at 0x...>),而书中示例里的Point类已经自定义了这两个方法之一,所以能输出坐标格式的字符串。

解决办法

  1. 检查/修改Point类的实现
    如果是你自己实现的geom2d.point.Point类,添加__str__方法即可:
class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __str__(self):
        return f'({self.x}, {self.y})'

    # 可选:加上__repr__,让交互式控制台直接打印对象时也显示坐标
    def __repr__(self):
        return self.__str__()

如果是使用第三方库的geom2d,确认是否和书中配套版本一致——可能你用的版本没有实现这个字符串转换方法。

  1. 手动格式化输出
    如果无法修改Point类代码,调用时手动提取坐标并格式化:
result = rot_origin.apply_to_point(point)
print(f'({result.x}, {result.y})')
# 或者转成字符串
str_result = f'({result.x}, {result.y})'

内容的提问来源于stack exchange,提问作者Ruslan Mamedov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 05:45:56