其实:__str__与__repr__效果一样,人们说:__str__是面向用户的,而__repr__是面向程序员的,轰朵你?
官网解释:
- <李>
<代码类=" descclassname ">对象。代码> <代码类=" descname "> 代码> 呢?李李
> <>, <代码类=" xref py py-func docutils文字notranslate "> 代码>内置函数和字符串转换(相反 引号)计算“官方”对象的字符串表示。如果有的话 可能,这应该是什么样的一个有效的Python表达式,可用于 创建一个对象与相同的值(给定一个适当的环境)。<强>如果 这是不可能的,> <>/代码应该返回强> <强>。,返回值必须是一个强> <强>如果一个类 定义强> <强> <代码类=" xref py py-meth docutils文字notranslate ">() 代码> 强> <强>但不是强> <强> <代码类=" xref py py-meth docutils文字notranslate "> 代码> 强> <>强,那么强> <强> <代码类=" xref py py-meth docutils文字notranslate ">() 代码> 强> <强>也 时使用的“非正式”字符串表示的类的实例 必需的。强>
李>
- <李>
<代码类=" descclassname ">对象。代码> <代码类=" descname "> __str__ 代码> 呢?李李
> <>, <代码类=" xref py py-func docutils文字notranslate "> 代码>内置函数和<代码类=" xref std std-keyword docutils文字notranslate "> 代码>语句来计算“非正式”对象的字符串表示。,<强> 不同于强> <强> <代码类=" xref py py-meth docutils文字notranslate "> 代码> <代码类=" xref py py-meth docutils文字notranslate "> 代码> <代码类=" xref py py-meth docutils文字notranslate "> 代码> 强> <强>,强> <>强:可以使用更方便或简洁的表示。 返回值必须是一个字符串对象。强>
李>
看了解释,哪里说是面向用户,哪里又说面向程序员了? ? ? ?看到加粗字了没有,看到下滑线了没有吗? ? ?这里说的是作用于所有人好嘛! ! !如果非要以自己的职位来说,好吧,好像是这么一回事,真是隐晦的表达。
不说了,先小试一下:
# !/usr/bin/python
# - * -编码:utf - 8 - * - - - - - -
类学生(对象):
,,,,def __init__(自我,名字):
,,,,,,,,自我。哈=名字
,,,,,,,,
类Str(学生):
,,,,def __str__(自我):
,,,,,,return & # 39;Str(名称:% s) & # 39;%的自我。哈
类Repr(学生):
,,,,def __repr__(自我):
,,,,,,return & # 39;Repr(名称:% s) & # 39;%的自我。哈
s=学生(& # 39;迈克尔# 39;)
打印。哈
打印Str(& # 39;你们# 39;)
打印Repr(& # 39;我# 39;)
最近非常的狂,不,不是最近,而是这个阶段的我,非常喜欢怼,如果我表达不好,那真是