Python 无参数调用类实例

Python 无参数调用类实例,python,class,arguments,Python,Class,Arguments,python中的string类具有以下功能: s = "Hello" s.upper() [Out] "HELLO" s [Out] "Hello" 这意味着,调用不带参数的类实例将返回一个字符串。我想在我自己的类中实现这个特性。结果应该如下所示: a = MyClass(13.4,"Value 1") a [Out] 13.4 a.title() [Out] "Value 1" 这可能吗?我如何实现它? 感谢您的帮助。您需要实现该类的_repr_____;方法。 参考: 还有。这里有一个工

python中的string类具有以下功能:

s = "Hello"
s.upper()
[Out] "HELLO"
s
[Out] "Hello"
这意味着,调用不带参数的类实例将返回一个字符串。我想在我自己的类中实现这个特性。结果应该如下所示:

a = MyClass(13.4,"Value 1")
a
[Out] 13.4
a.title()
[Out] "Value 1"
这可能吗?我如何实现它?
感谢您的帮助。

您需要实现该类的_repr_____;方法。
参考:
还有。

这里有一个工作代码。您需要实现
\uuuu repr\uuuu

In [19]: class MyClass(object):
    ...:     def __init__(self, value, string):
    ...:         self.value = value
    ...:         self.string = string
    ...:     def __repr__(self):
    ...:         return str(self.value)
    ...:     def title(self):
    ...:         return self.string
    ...:

In [20]: a = MyClass(13.4, "Value 1")

In [21]: a
Out[21]: 13.4

In [22]: a.title()
Out[22]: 'Value 1'

实施
\uuuu str\uuuu
和/或
\uuu repr\uuu
方法。在执行
s
时,您没有“调用”任何东西,Python正在获取对象的可打印表示。请参阅@deceze:Thank's for your help and sorry for the replicate。我想我没有找到其他答案,因为我不知道repr是我问题的解决方案。谢谢你的快速回答。是否也可以以类似的方式分配值a(a=15.2)?我想问题是,a之后会指向15.2,而不再指向MyClass@如果分配
a=15.2
,实例
a
将被覆盖。如果要更改实例
a
包含的值,应:
a.value=15.2