不带参数调用类实例

时间:2017-06-29 09:14:33

标签: python class arguments

python中的字符串类具有以下功能:

s = "Hello"
s.upper()
[Out] "HELLO"
s
[Out] "Hello"

这意味着,不带参数调用类实例会返回一个字符串。我想在我自己的课堂上实现这个功能。结果应如下所示:

a = MyClass(13.4,"Value 1")
a
[Out] 13.4
a.title()
[Out] "Value 1"

这可能,我该如何实施? 感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

这里有一个有效的代码。您需要实施__repr__

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'

答案 1 :(得分:0)

您需要实现该类的__repr__方法 参考: Purpose of __repr__ in pythonpython docs