2017-04-01 45 views
-1

如何獲得一個python對象,該對象返回來確認我創建的字符串對象中的/ n和/ t?沒有 n和 t返回的python對象

我不能使用打印,並且需要讓我的函數分配一個返回的字符串對象來輸出,並且當我輸入輸出時,它將打印出我想要的。

目前我的輸出是這樣的:

>>> output = function(input_data) 
>>> output 
'1\t2\t100\nALL\t100\n2\t1\t20\nALL\t20\nALL\t1\t20\n2\t100\nALL\t120\n' 

但我想它是這樣的:

>>> output = function(input_data) 
>>> output 
1 2 100 
ALL 100 
2 1 20 
ALL 20 
ALL 1 20 
2 100 
ALL 120 
+3

但爲什麼你不能使用'print()'? –

+0

因爲它需要按照我展示的方式....所以我不能在命令行中打印(輸出)。返回的對象需要能夠打印出我需要的內容,但返回的對象是一個字符串.... – iteong

+0

您可以使用您提到的任何字符串,並使用任何輸出方法(打印或文件輸出)當你想顯示輸出。 –

回答

2

儘管雙方你輸出的是同一個對象,唯一不同的是, print(output)打印的__str__方法,這通常更加用戶友好。而打字output則打印方法output,有時將其稱爲「原始」輸出。

但是,這個工作圍繞創建自定義對象,而str子類,像這樣:

>>> class cusstr(str): 
    def __repr__(self): 
     return self.__str__() 
>>> output = function(input_data) # your function... 
>>> output = cusstr(output) 
>>> output 
1 2 100 
ALL 100 
2 1 20 
ALL 20 
ALL 1 20 
2 100 
ALL 120 

這個對象覆蓋默認__repr__並使其返回它的__str__代替。

+0

這就是我想要的。謝謝! – iteong

相關問題