在main函数中,如何从def __str__中打印值(x,y)?

时间:2014-08-03 22:15:26

标签: python string

例如

def __str__ (self):
    return (x,y)

def main():

如何从def str (自我)中打印x和y的值:函数

非常感谢谢谢!!!

2 个答案:

答案 0 :(得分:0)

这段代码没有意义,所以我推断。

我假设你有这样的课程:

class Foobar(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def __str__(self):
        return str((x,y))

def main():
    foobar = Foobar(1,2)

main()

在这种情况下,您可以使用字符串操作来处理它。

x_value, y_value = map(str.strip("()"), str(foobar).split(','))

但这比罪恶更丑陋。为什么不直接引用这些值?

x_value, y_value = foobar.x, foobar.y

答案 1 :(得分:0)

使用Adam答案中的例子:

class Foobar(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def __str__(self):
        return '({foo.x}, {foo.y})'.format(foo=self)

会导致:

foo = Foobar(2, 3)
print(foo)
'(2, 3)'