Python 的类表示魔法方法?

2024-04-27

我有一个自定义类,例如:

class foo(object):
    def __init__(self, name):
        self.__name = name
    
    def get_name(self):
         return self.__name

我想做的是写

test = foo("test")
print test

代替

test = foo("test")
print test.get_name()

做到这一点的神奇方法是什么?


有两种相关的方法。有的是__str__将对象“转换”为字符串的方法。然后有一个__repr__将您的对象转换为“程序员表示”的方法。这print函数(或语句,如果您使用的是 Python 2),使用str函数将对象转换为字符串,然后将其写入sys.stdout. str通过首先检查来获取字符串表示形式__str__方法,如果失败,则检查__repr__方法。您可以根据自己的方便程度来实施它们,以获得您想要的东西。

就您自己的情况而言,实施

def __str__(self):
   return self.__name

应该足够了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 的类表示魔法方法? 的相关文章

  • Pandas:参差不齐的时间序列的时间加权滚动平均值

    我有一个参差不齐 意思是不规则的频率 时间索引的 DataFrame 我想对其执行时间加权滚动平均值 以维护 DataFrame 的原始索引 假设记录的值在被另一个值取代之前一直有效 实现此目的的一种方法是将参差不齐的 DataFrame
  • 在python中发送多个文件

    我是 python 新手 我正在尝试以下操作 我有两个 calsess Server py and Client py我想将服务器目录中存在的所有文件发送到客户端的某个目录 IE C ServerDir file1 txt C Server
  • 如何从 QLineEdit 动态获取文本? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 怎样才能得到String Text from QlineEdit 我尝试过像这样 myArea getList 功能是获取字符串值并使用字符
  • 窗口多维 Tensorflow 数据集

    我有形状的二维数据m by n我想要的窗口大小w沿着第一个轴进入数据集m w许多二维数组 每个数组的大小w by n 例如如果数据是 0 1 2 3 4 5 6 7 8 9 10 11 然后我想将其窗口化 0 1 2 3 4 5 6 7 8
  • 倒计时:01:05

    如何在 Python 中创建一个看起来像 00 00 分钟和秒 的倒计时时钟 它独立成一行 每次减少一actual秒 则应将旧计时器替换为低一秒的新计时器 01 00变成00 59它实际上击中了00 00 这是我开始使用但想要改造的基本计时
  • Django 和 VirtualEnv 开发/部署最佳实践

    只是好奇人们如何结合 virtualenv 部署 Django 项目 更具体地说 如何使生产虚拟环境与开发计算机正确同步 我使用 git 进行 scm 但 git 存储库中没有 virtualenv 我应该这样做 还是最好使用 pip fr
  • 如何使用Python中的or-tools解决累积旅行商问题?

    累积旅行商问题 CTSP 的目标是最小化到达客户的时间总和 而不是总旅行时间 这与最小化总旅行时间不同 例如 如果一个人拥有无限的车辆 车辆与位置数量相同 并且目标是最大限度地减少到达位置的总时间 则可以为每个位置发送一辆车 因为这是满足所
  • 为什么 Contextmanager 会抛出运行时错误“生成器在 throw() 之后没有停止”?

    在我的 utility py 中 contextmanager def rate limit protection max tries 3 wait 300 tries 0 while max tries gt tries try yiel
  • Python NameError,变量“未定义”

    它返回的错误是 NameError name lives is not defined 我知道代码并不是尽可能高效 这是我的第一个项目 但是无论我尝试做什么 都会弹出这个错误 我尝试为其创建一个全局变量 但这没有帮助 我真的很感激一些帮助
  • 匹配字典集。最优雅的解决方案。 Python

    给定两个字典列表 新的和旧的 字典在两个列表中表示相同的对象 我需要找到差异并生成新的字典列表 其中仅包含新字典中的对象和旧字典中的更新属性 例子 list new id 1 name bob desc cool guy id 2 name
  • 在包含缺失值的 Pandas 数据框列上使用 apply 和 lambda 函数

    这是这个问题的后续 如何根据 pandas 数据框中其他列中的子字符串创建新列 https stackoverflow com questions 70086559 how to create new column based on sub
  • 在循环中动态添加方法时的范围问题

    我有一个 API 用于分析我的锻炼数据 我抓取的数据 跑卫 http runkeeper com 的网站 我的主类是一个子类pandas DataFrame 它基本上是表格数据的容器 它支持按列名索引 返回列值的数组 我想根据数据中存在的
  • 替换 Python 列表/字典中的值?

    好的 我正在尝试过滤传递给我的列表 字典并稍微 清理 它 因为其中有某些值我需要删除 所以 如果它看起来像这样 records key1 AAA key2 BBB key3 CCC key4 AAA 我如何快速轻松地运行所有内容并将 AAA
  • django 创建多类型用户的最佳方法

    我想在 django 中创建多个用户 我想知道哪种方法是最好的 class Teachers models Model user models ForeignKey User is teacher models BooleanField d
  • 如何在lxml,Python中将<转换为<?

    有一个xml文件
  • 虎鲸失踪

    使用plotly 导出静态图表时遇到小问题 Plotly 无法正确识别我已安装 orca 并且仍然存在与缺少 orca 相关的错误 我尝试更改 orca 目录 但它仍然无法正常工作 谁知道出了什么问题吗 My code import plo
  • PDB.run - 重新启动 pdb 会话

    我对 python 和 pdb 比较陌生 但我对 gdb 有很多经验 我的问题是 如果我在代码中设置了多个断点 我会想要更改一些内容并重新运行我的调试会话并保留这些断点 但是 在我的 pdb 会话中输入 run 会导致我的会话终止并显示以下
  • 检查数组中是否有 3 个连续值高于某个阈值

    假设我有一个像这样的 np array a 1 3 4 5 60 43 53 4 46 54 56 78 有没有一种快速方法来获取 3 个连续数字都高于某个阈值的所有位置的索引 也就是说 对于某个阈值th 得到所有x其中 a x gt th
  • 从多个 .csv 文件创建混淆矩阵

    我有很多具有以下格式的 csv 文件 338 800 338 550 339 670 340 600 327 500 301 430 299 350 284 339 284 338 283 335 283 330 283 310 282 3
  • 使用和不使用 SciPy 计算 k 组合的数量

    我对这个函数感到困惑combSciPy 的 http docs scipy org doc scipy 0 14 0 reference generated scipy misc comb html看起来比简单的 Python 实现要慢 这

随机推荐